草庐IT

nspredicate

全部标签

ios - NSPredicate,获取结果与一对多关系的子集

我正在处理CoreData和NSFetchedResultsController。我的数据模型如下所示:Product具有称为dataLines的一对多关系。dataLine实体有一个属性名称theWeek。我想获取所有Product,其中dataLines.theWeek==someValue。这可以通过子查询轻松完成。但这会返回所有数据线。是否可以创建一个返回Product的NSPredicate和一个子集(如果dataLines仅具有dataLines==someValue)? 最佳答案 您可以通过两种方式实现您想要实现的目标

ios - 从 NSArray 动态生成 NSPredicate

我有大量不同的NSObject类型,它们都具有不同的属性,我正在尝试抽象出一个方法,该方法允许我通过简单地传入我希望过滤的属性的NSArray来过滤对象的NSArray在。我过滤的数字键可能从1到任何值不等。这里是一个过滤NSArray的例子NSArray*filterBy=[NSArrayarrayWithObjects:@"ManufacturerID",@"CustomerNumber",nil];这些键也存在于我正在过滤的NSArray的对象中,所以基本上这需要生成如下内容:NSPredicate*pred=[NSPredicatepredicateWithFormat:@"%

ios - 如何使用 NSPredicate 从 CoreData 中删除选定数量的行?

我想从CoreData表中删除选定的项目列表:一些具有特定namesToDelete的人:NSError*error=nil;NSFetchRequest*request=[[NSFetchRequestalloc]init];[requestsetEntity:[NSEntityDescriptionentityForName:@"Person"inManagedObjectContext:managedObjectContext]];NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"NOT(nameIN%@)",name

ios - NSFetchedResultsController didChangeObject 带有过滤 NSPredicate

我有一个由NSFetchedResultsController支持的UITableView,它显示已被用户添加为书签的项目。项目可以从行内的按钮取消书签,这会导致问题。项目取消书签后,它应该从TableView中消失,因为它不再与谓词匹配,但因为我的每个部分的行数已被更新更改,我得到了这个错误的变体:CoreData:error:Seriousapplicationerror.AnexceptionwascaughtfromthedelegateNSFetchedResultsControllerduringacallto-controllerDidChangeContent:.Inv

ios - 如何向 NSPredicate 添加多个字段

我想使用查询字符串搜索一组用户的名字或姓氏。下面是谓词,但出现异常。NSPredicate*sortingPred=[NSPredicatepredicateWithFormat:@"(User.firstcontains[c]%@)OR(User.lastcontains[c]%@)",keyword,keyword];异常(exception):exceptionNSException*name:@"NSUnknownKeyException"reason:@"[valueForUndefinedKey:]:thisclassisnotkeyvaluecoding-complian

iphone - 使用 NSPredicate iOS 在具有 NSArray 和 NSString 的 NSArray 中查找值

只有NSArray我才能找到以下值:NSArray*arr=[NSArrayarrayWithObjects:@"299-1-1",@"299-2-1",@"299-3-1",@"399-1-1",@"399-2-1",@"399-3-1",@"499-1-1",@"499-2-1",@"499-3-1",nil];NSString*search=@"299";NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"SELFCONTAINS%@",[NSStringstringWithFormat:@"%@",search]];N

ios - NSPredicate isKindOfClass 仅适用于 [myObject class] 不适用于 [MyClass class]

为什么[MyClassclass]无法在谓词中找到我想要的类的对象,而[myObjectclass]有效?请参阅下面的代码示例。我希望能够在一个集合中找到类型为MyClass的对象,而无需使用该类的虚假实例。MyClass*myObject=[[MyClassalloc]init];这行不通...NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"selfisMemberOfClass:%@",[MyClassclass]];NSArray*predicateResults=[mySetfilteredSetUsingPred

ios - 创建新对象时查询核心数据的特定属性,如果存在则返回对象,如果不存在则创建一个新对象

在创建新对象之前,我无法检查实体的特定属性是否存在于核心数据数据库中(通过谓词);如果该对象存在,我宁愿返回它也不愿创建一个新对象。我有一个简单的应用程序,它有一个表格View,导航栏中有一个加号按钮;用户单击它并显示一个带有4个文本字段的ViewController。他们填写该信息,按保存,它被保存到核心数据并显示在TableView中(通过使用NSFetchedResultsControllers)。数据模型如下:具有isReceivedBOOL属性的事务实体具有名称字符串属性的人员实体具有标题字符串属性的场合实体具有金额字符串属性的项目实体事务与Person(whoBy)、Occ

ios - NSPredicate 过滤没有结果

我正在尝试断言数组有了这个-(void)searchBar:(UISearchBar*)searchBartextDidChange:(NSString*)text{if(text.length==0){isFiltered=FALSE;}else{isFiltered=true;filteredListCustomersArray=[[NSMutableArrayalloc]initWithCapacity:[customersArraycount]];[filteredListCustomersArrayremoveAllObjects];NSPredicate*filterPre

ios - NSPredicate:如何将字符串视为数字?

我正在构建一个复合NSPredicate以在iOS应用程序中使用sqlite上的核心数据发出获取请求。一切都已经很好,但我无法包含最后一个条件。原因很简单:我需要检查存储为字符串的值是否在特定的浮点范围内。问题是条件是按字母顺序检查的,而不是根据其浮点值。这是代码:NSString*conditionToBeAdded=[NSStringstringWithFormat:@"&&(%@>=\"""%@\""")&&(%@有谁知道如何构建一个NSPredicate对象,该对象能够将字符串值检查为数字,以便在核心数据请求中使用?谢谢。 最佳答案