【发布时间】:2014-07-18 02:55:40
【问题描述】:
我有以下 uisearchbar 委托方法。我希望此方法搜索我的 objects arrayofterms 属性,以查看是否有任何元素与 searchText 参数匹配。
这行得通吗? :
-(void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope {
[self.filteredArray removeAllObjects];
// something like this is what the objects array attribute will look like: NSArray *arrayofterms = [NSArray arrayWithObjects:@"Miguel", @"Ben", @"Adam", @"Melissa", nil];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.arrayofterms contains[c] %@",searchText];
self.filteredArray = [NSMutableArray arrayWithArray:[self.planDataArray filteredArrayUsingPredicate:predicate]];
}
【问题讨论】:
-
是否有效?你告诉我们。
-
不,它不会,因为它正在将文本字符串与数组进行比较。我希望它与数组的内容进行比较。
-
使用您的谓词,实现以下功能:检查
self.planaDataArray的每个元素的arrayofterms属性是否包含searchText。很遗憾,我没有得到您想要实现的目标,请您澄清一下吗?
标签: ios objective-c cocoa nsarray nspredicate