任何内置的函数检查“数组的所有元素包含[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

回到顶部