我需要使用 NSComparisonPredicate 检查数组中的字符串是否为空。正在执行的谓词是: string MATCHES[c] "" 但结果中没有显示任何内容,它没有列出我的空字符串。 我的谓词是错误的还是有另一种方法可以使用 NSPredicate 处理空字符串?
最佳答案
我不确定你为什么使用 NSComparisonPredicate ,我从未使用过那个,所以我不熟悉它。您尝试过 predicateWithFormat 吗?
NSPredicate *pred = [NSPredicate predicateWithFormat:@"self.length == 0"];
尚不清楚您要如何使用谓词,但如果您使用它来过滤数组,这应该可以工作。
如果您想知道数组中空字符串的索引,那么您可以使用indexesOfObjectsPassingTest:,如下所示:
NSIndexSet *indxs = [array indexesOfObjectsPassingTest:^BOOL(NSString *aString, NSUInteger idx, BOOL *stop) {
return aString.length == 0;
}];
NSLog(@"%@",indxs);
关于string - NSComparisonPredicate 查找空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858404/