草庐IT

NSPredicate

全部标签

iOS:CHCSVParser 和 NSPredicate?

我目前正在尝试使用CHCSVParser来解析包含1500多个条目和8行的CSV文件。我已经成功地解析了文件,我得到的是一个NSArrayofNSArraysofNSStrings。例如这是我得到的:LoadingCSVfrom:((Last,First,Middle,Nickname,Gender,City,Age,Email),(Doe,John,Awesome,"JD",M,"SanFrancisco","20","john@john.doe"),我如何将其分类为Person对象并使用NSPredicate对其进行过滤,就像MatttThompson所做的那样here.下面是我如

ios - NSPredicate 未按需要过滤

考虑以下数组:NSArray*dataValues=@[@"Foo[0]",@"Foo[1].bar"];以及以下正则表达式模式、谓词和预期输出:NSString*pattern=@"Foo[0]";NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"SELFBEGINSWITH[cd]%@",pattern];NSArray*results=[dataValuesfilteredArrayUsingPredicate:predicate];NSLog(@"matches=%ld",(long)results.count);这

ios - NSPredicate 不适用于 ios 中的过滤

我试过通过NSPredicate进行过滤。它在NSMutableArray中不起作用,但我在Array中试过并且它工作正常。使用数组的工作代码:filterArray=[NSMutableArrayarrayWithObjects:@"Yvan",@"Balu",@"Srinath",@"Aswin",@"Ram",nil];NSPredicate*bPredicate=[NSPredicatepredicateWithFormat:@"SELFbeginswith[c]'r'"];NSArray*resultAr=[resultArrayfilteredArrayUsingPredi

ios - 将 NSPredicate 应用于字典 IOS 内的数组

@interfaceContact:NSObject@property(assign,nonatomic)NSInteger*cid;@property(strong,nonatomic)NSString*name;@property(strong,nonatomic)NSMutableArray*arrPhone;@end我已经为上面的字典创建了“Contact”NSObject,它有arrPhone数组。现在我有一个包含联系人对象列表的数组。现在我需要那些电话数组包含以@"11"(我的搜索字符串)开头的数字的联系人对象我尝试了以下方法:NSPredicate*p1=[NSPredi

ios - NSPredicate 按属性过滤核心数据关系 NSSet

我与两个实体之间存在多对多关系。一个是Person,另一个是Clubs。我希望能够编写一个predicate来查找特定Club中的所有Person实体。我还想检查那个人的position属性。这是不起作用的:NSFetchRequest*request=[[NSFetchRequestalloc]init];[requestsetEntity:[NSEntityDescriptionentityForName:@"Person"inManagedObjectContext:self.managedObjectContext]];[requestsetPredicate:[NSPredi

ios - Objective C NSPredicate 两个属性的总和

我正在尝试创建一个NSPredicate,它可以计算两个属性的总和并将其与对象的另一个属性进行比较:对象.property1+对象.property2我尝试了(%K+%K)PS:即使某些属性为空也应该可以工作。我尽量避免使用大量复合谓词。谢谢,弗罗林 最佳答案 假设您正在使用SQLite持久存储,提取谓词将转换为等效的SQLiteWHERE子句。因此,NULL值的处理由SQLite决定。来自SQLitedocumentation:Addinganythingtonullgivesnull因此,如果谓词中的任何属性为NULL,则总和将

objective-c - 用于按组选择具有最大值的行的 NSPredicate

我正在使用CoreData在表单中存储实体跟踪器入口用户名时间戳我想为每个用户选择最新的记录。使用sql会是这样的SELECTMAX(timestamp)FROMLogGROUPBYusername有没有办法创建一个NSPredicate来做到这一点? 最佳答案 我会使用NSExpression来完成。下面的这段代码对您不起作用,因为您也必须按用户名分组,但这是无需获取所有内容即可执行此操作的最佳方式的开始。你想在数据库中执行max和group,而不是在内存中-因为它会更快:NSFetchRequest*fetchRequest=[

ios - 使用 NSPredicate 获取一对多关系值

我有实体部门和员工的核心数据模型,从部门到员工(部门-->>员工)有一对多的关系。我需要获取员工加入日期在两个日期之间的所有部门。如何为此设置谓词???谢谢你.... 最佳答案 我想你需要一个子查询:[NSPredicatepredicateWithFormat:@"SUBQUERY(employees,$e,$e.joinDate>=%@AND$e.jointDate>=%@).@count>0",fromDate,toDate]employees是从Department到Employee的对多关系。(参见“NSExpressio

ios - NSPredicate 的 CloudKit 意外表达式

我正在使用CloudKit并希望根据记录的字符串字段搜索记录。Apple文档说这是对记录字段进行标记化搜索的方法:Toperformatokenizedsearchofarecord’sfields,usethespecialoperatorself.Atokenizedsearchsearchesanyfieldsthathavefull-textsearchenabled,whichisallstring-basedfieldsbydefault.Listing5showsanexamplethatsearchesthefieldsoftherecordforthetokenstr

ios - 如何找到 ARRAY 的索引位置,其中 NSPredicate 选取值。我使用 filteredArrayUsingPredicate 作为过滤器

这里是一个例子,根据当前时间过滤具有开始时间和结束时间的数组。这工作正常:问题:但在这里我想知道谓词选取值的collectionArr的索引位置。NSDate*currentDate=[NSDatedate];NSDateFormatter*_formatter=[[[NSDateFormatteralloc]init]autorelease];[_formattersetLocale:[NSLocalecurrentLocale]];[_formattersetDateFormat:@"yyyy-MM-ddhh:mma"];NSString*_date=[_formatterstri