我有以下代码
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"Word== %@", randomWord];
rows = [[courseArray filteredArrayUsingPredicate:predicate]retain];
我在搜索栏中使用它。我有两个问题 - 我如何制作NSPredicate所以它需要从键入的字符开始,而不是使值等于另一个?例如,我在阵列中有“男人,很多人,男人,现在,从不”,当我输入“M”时,我想要添加“男人,许多人,更多人”。此外,我如何预测超过1个值?所以它比较两种格式?
感谢...
答案 0 :(得分:1)
尝试
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Word BEGINSWITH %@", randomWord];
如果您想搜索整个单词,可以尝试CONTAINS
..
答案 1 :(得分:1)
NSPredicate文档是一个很好的起点。
检查字符串是否以另一个字符串开头的谓词是[NSPredicate predicateWithFormat:@"Word BEGINSWITH %@"]
就检查两个谓词而言,您正在寻找NSCompoundPredicate
。
答案 2 :(得分:1)
您需要创建要比较的所有谓词,并将所有谓词附加到数组。之后,您可以将NSCompoundPredicate
用于or
,and
条件。
NSPredicate *finalPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:@[[NSPredicate predicateWithFormat:@"is_neutered = 0"],
[NSCompoundPredicate orPredicateWithSubPredicates:feedDays]]];
答案 3 :(得分:0)
在String Constants,Variables和Wildcards部分下查找'Prefix'部分。