2011-11-09 18 views
21

के लिए एनएसपी्रेडिकेट चेक मेरे पास UIView ऑब्जेक्ट्स की एक सरणी है। मैं MyCustomView ऑब्जेक्ट्स की सरणी प्राप्त करने के लिए इस सरणी पर - (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate पर कॉल करना चाहता हूं।ऑब्जेक्ट क्लास

"isKindOf:" के साथ भविष्यवाणी कैसे करें?

उत्तर

50

कोशिश (depracated)

[NSPredicate predicateWithFormat: @"className == %@", [someObject className]] 

या

[NSPredicate predicateWithFormat: @"class == %@", [someObject class]] 
+0

काम करता है। – user500

+0

मेरे लिए 'className' के साथ भी काम करता है। हालांकि 'कक्षा' क्लीनर दिखता है। – Jef

+0

और अधिक उपयुक्त क्या है? "=" या "पसंद"? – user500

-1

कैसे अपने कुंजी के रूप में -className का उपयोग कर के बारे में?

NSPredicate* foo = [NSPredicate predicateWithFormat: @"className == %@", @"MyCustomView"]; 
+6

आईओएस एपीआई में मैं '-className' जैसी कुछ भी नहीं देख सकता ... – user500

24

मुझे जेएफ की विधि का उपयोग करके त्रुटियां मिलीं। यह मेरे लिए काम किया, हालांकि।

NSPredicate *predicate = [NSPredicate predicateWithFormat: 
               @"self isKindOfClass: %@", class]; 

स्रोत: https://stackoverflow.com/a/2556306/168594 वर्ग के साथ

संबंधित मुद्दे