我有一個NSMutableArray,它包含100個[NSNULL null]類型的對象。但是有時它包含1個有效對象(可能是NSString)和99個[NSNULL null]類型的對象(它可能會因情況而有所不同)。任何內置的函數檢查「數組的所有元素包含[NSNULL null]」類型的對象或不?
可以我知道是否有任何內置函數來檢查,數組的所有元素包含[NSNULL空]類型對象或不?(或它不包含任何一個有效的對象。)
感謝。
注意:不使用循環語句迭代所有元素。
我有一個NSMutableArray,它包含100個[NSNULL null]類型的對象。但是有時它包含1個有效對象(可能是NSString)和99個[NSNULL null]類型的對象(它可能會因情況而有所不同)。任何內置的函數檢查「數組的所有元素包含[NSNULL null]」類型的對象或不?
可以我知道是否有任何內置函數來檢查,數組的所有元素包含[NSNULL空]類型對象或不?(或它不包含任何一個有效的對象。)
感謝。
注意:不使用循環語句迭代所有元素。
您可以使用NSPredicate來實現此目的。
NSMutableArray *allObjects = /* Assume this is your main array */;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self = nil"];
NSArray *nullObjects = [allObjects filteredArrayUsingPredicate:predicate];
if ([nullObjects count] == [allObjects count]) {
// All objects are [NSNull null]
} else {
// Some objects are of different types(may be NSString)
}
假設你知道你正在尋找的NSString對象,你可以做到這一點很簡單:
NSString *needle = /*The NSString you are looking for*/;
NSMutableArray *allObjects = /*You mutable array*/;
BOOL contains = [allObjects containsObject:needle];
很簡單,但它假設你知道你正在尋找的對象,因爲你沒有在問題中指出,這個答案可能對某人有所幫助。
它不是我看着哥們.. – sham