任何内置的函数检查“数组的所有元素包含[NSNULL null]”类型的对象或不?
我有一个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];
很简单,但它假设你知道你正在寻找的对象,因为你没有在问题中指出,这个答案可能对某人有所帮助。
以上是 任何内置的函数检查“数组的所有元素包含[NSNULL null]”类型的对象或不? 的全部内容, 来源链接: utcz.com/qa/263854.html