草庐IT

NSPredicate

全部标签

objective-c - 使用 NSPredicate 的一种反向字符串比较

我一直在整个互联网上寻找这个答案,但到目前为止没有运气。所以我需要请教这里聪明善良的人。这是我第一次在这里提问,所以我希望我做对了,而不是重复这个问题。对于我看到的所有示例,搜索字符串是存储在核心数据中的内容的子字符串。另一方面,我想实现以下目标:coredata中存储的字符串,其实就是子字符串。我想通过获取所有具有属于提供的搜索字符串的子字符串的核心数据行来进行搜索。例如:在核心数据中,我有“AB”、“BC”、“ABC”、“ABCDEF”、“GH”、“ABA”在应用程序中,我通过提供super​​字符串进行搜索:“ABCDEF”,结果将返回“AB”、“BC”、“ABC”、“ABCDE

objective-c - 如何使用 nspredicate 对非英文字符串进行排序?

我正在使用排序描述符对获取请求的结果进行排序。NSFetchRequest*req=[[NSFetchRequestalloc]initWithEntityName:[MyEntityentityName]];NSSortDescriptor*descriptor=[[NSSortDescriptoralloc]initWithKey:@"property"ascending:YESselector:@selector(localizedCompare:)];req.sortDescriptors=[NSArrayarrayWithObject:descriptor];return[s

ios - NSPredicate 根据嵌套结构中的属性过滤自定义对象

我正在尝试使用NSPredicate从如下所示的结构中过滤所有CustomObjects,并为其属性“isSelected”设置值为true。我有一个嵌套结构,如:isSelectedProperty-Object-NSArray-NSDictionary-NSArray。[{"title":"ABC","list":[.isSelected=true,.isSelected=true,.isSelected=true]},{"title":"ABC","list":[.isSelected=false,.isSelected=true,.isSelected=true]},{"tit

ios - 使用 NSPredicate 过滤,用于数组内部字典中数组的数组计数

我有如下格式的数组[{"xyz":[Arraywithdifferentvalues];...manymorekeys},{..sameasabovedictionary}...manymoredictionaries]在这里,我有字典的主数组,其中每个字典都有不同的键,其中有“xyz”键,其值也是一个数组。现在我想要那些字典,其中xyz的数组必须有count>2。现在我尝试使用以下谓词:NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"xyz.count>2"];NSArray*filteredArray=[resultA

ios - 电话号码的 NSPredicate

我的电话号码格式是(987)786-5645。-(BOOL)validatePhoneNumberWithString:(NSString*)phone{NSString*pNRegex=@"[(0-9)]{3}+\\+\\[0-9-]{3}+\\[0-9]{4}";NSPredicate*PNTest=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",pNRegex];return[PNTestevaluateWithObject:phone];}我正在使用上面的代码。具体的正则表达式规则应该是什么?我能够弄清楚数字和括号。我应该使用什

objective-c - 使用 NSPredicate 检测 NOT CONTAINS

我放弃了。我已经尝试了所有我能想到的组合来检查一个字符串是否包含另一个字符串。下面是描述我想做的事情的直观语法示例:NSPredicate*pPredicate=[NSPredicatepredicateWithFormat:@"NOT(%KCONTAINS[c]%@)",NSMetadataItemFSNameKey,[NSStringstringWithFormat:@"SomeString"]];无论我如何移动NOT,请使用!运算符代替,移动括号或完全删除它们,我总是在解析此表达式时遇到异常。这个表达式有什么问题?编辑:异常发生在我调用[pMetadataQuerysetPred

ios - NSPredicate - 多个条件的不区分大小写的过滤

我正在使用以下NSPredicate进行过滤,NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"(firstNameCONTAINS%@)OR(lastNameCONTAINS%@)OR(UserNameCONTAINS%@)",myText,myText,myText];NSArray*filtered=[responseArrayfilteredArrayUsingPredicate:predicate];它工作正常,但区分大小写。我需要过滤不区分大小写。我试过了,NSPredicate*predicate=[NSPre

ios - 使用 NONE 的 NSPredicate 聚合操作

如何创建可以获取的谓词:所有问题不包含answer.correct="1"。如果返回的数组包含“0”和“1”,则以下谓词不起作用:[NSPredicatepredicateWithFormat:@"NONEanswers.correctIN%@",[NSArrayarrayWithObject:@"1"]];也尝试了NOT(ANY...):同样的结果这是一个错误吗? 最佳答案 简答:要获取所有没有任何“正确==1”“答案”的对象,请使用以下SUBQUERY:[NSPredicatepredicateWithFormat:@"SUBQ

iphone - NSPredicate 仅过滤日期字段的 "year"部分

我有一个带有日期字段的实体,我想选择给定年份的记录。如何为工作构建NSPredicate?在CoreData中没有找到任何关于日期函数(如果有的话)谢谢 最佳答案 最终我或多或少按照Wienke的建议做了。要创建获取特定年份记录的谓词,我是这样做的:-(NSPredicate*)predicateFromYear:(NSInteger)startspan:(NSInteger)aSpan{NSCalendar*cal=[NSCalendarcurrentCalendar];NSDateComponents*dc=[NSDateCom

iphone - 在 NSPredicate 中使用 NSDate

是否有特定的方法来配置NSPredicate来比较日期?基本上我有一个Photo对象,它有一个NSDate,lastViewed。我想配置一个NSPredicate,它将返回最近查看的所有照片对象超过指定时间段-通常是两天。我像这样获取过去的日期:NSTimeIntervalsecondsPast=-172800;NSDate*twoDaysPast=[NSDatedateWithTimeInterval:secondsPastsinceDate:[NSDatedate]];并这样配置NSPredicate:request.predicate=[NSPredicatepredicate