Tag: nspredicate

使用NSPredicate来确定一个string是否等于另一个string

我有[CalCalendarStore eventPredicateWithStartDate]方法返回的CalEvents的NSArray 。 从返回的事件中,我试图只保留事件标题== @"on call" (不区分大小写)。 我可以使用下面的代码(其中“events”是一个用CalEvents填充的“NSArray”)保存标题包含 @"on call"的事件: NSPredicate *onCallPredicate = [NSPredicate predicateWithFormat:@"(SELF.title CONTAINS[c] 'on call')"]; [events filteredArrayUsingPredicate:onCallPredicate]; 我已经尝试使用谓词格式string,如: @"SELF.title == 'on call'"但这似乎不工作。 有没有更简单的方法来做到这一点?

核心数据 – 数据库中行的主键ID

假设我有一个存储在核心数据中的书籍列表。 我想通过它的主键ID来search一本书。 我知道由Core Data创build的sqlite文件在每个表中都有一个ID列,但是这似乎并没有暴露给我。 有没有人有任何build议? 谢谢!

不区分大小写的NSPredicate,在CoreData中单个结果

这是我现在的NSPredicate: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"UPC==%@ OR ItemID==%@", aUPCCode,aUPCCode]; 我如何使这种情况下不敏感? 我不想做任何部分匹配。 例如,如果他们input123为aUPCCode我不想得到123,123a,123b,123c等。 我只想要一个精确的匹配。 我想这样做,但似乎有点荒谬: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"UPC==%@ OR ItemID==%@ OR UPC==%@ OR ItemID==%@ OR UPC==%@ OR ItemID==%@", aUPCCode,aUPCCode,[ aUPCCode lowercaseString] ,[aUPCCode lowercaseString], [aUPCCode uppercaseString],[aUPCCode uppercaseString]];

核心数据,NSPredicate和多对多密钥

我有一个Core Data模型,其中一个Task实体包含一个可选的多对多关系excludedOccurrences。 excludeOccurrences的一个属性是start,它是一个NSDate对象。 ExcludedOccurrence实体与Task实体具有反向强制一对一关系。 为了获取指定date的任务,我需要确保指定的一天不会显示为任何ExcludedOccurrence实体的开始属性。 因此,我试图使用的一个子谓词 NSPredicate *occurrenceIsNotExcludedPredicate = [NSPredicate predicateWithFormat: @"(ALL excludedOccurrences.start != %@))", today]; 今天是今天的NSDate对象,仅包括日,月和年组件。 所有排除事件的开始属性还包括日,月和年组件。 虽然这应该很好,至less阅读核心数据和NSPredicate的文档,我得到以下错误信息: 由于未捕获exception“NSInvalidArgumentException”而终止应用程序,原因:“不支持的谓词 如果我使用相同的谓词 NSPredicate *occurrenceIsNotExcludedPredicate = [NSPredicate predicateWithFormat: @"!(ANY excludedOccurrences.start == %@))", today]; 不会抛出exception,但代码不能按预期工作:排除不应排除今天发生的事件。 我不知道如何testing排除的情况发生==零:下面的谓词 NSPredicate *nilPredicate = [NSPredicate predicateWithFormat: @"(excludedOccurrences == nil)"]; 在运行时导致exception 一对多的钥匙不允许在这里 但是,由于排除关系是可选的,我还需要testing它是否为零。 我如何处理这个? 先谢谢你。

NSPredicate与SQL的LIKE等价

我正在寻找一种方法来使用NSPredicate来设置LIKE条件来获取对象。 除此之外,一个OR也是有用的。 我试图做一些事情,如果用户search“詹姆斯”,我可以写一个NSPredicate将做相当于: select * from users where firstname LIKE '%James%' OR lastname LIKE '%James%';

如何在NSSet或NSArray中search具有特定属性的特定值的对象?

如何在NSSet或NSArray中search具有特定属性的特定值的对象? 例如:我有一个20个对象的NSSet,每个对象都有一个type属性。 我想获得第一个对象,其中[theObject.type isEqualToString:@"standard"] 。 我记得有可能以某种方式使用谓词来处理这种东西,对吧?

iPhone – 从NSArray对象获取唯一的值

我有一个自定义类的对象组成的NSArray 。 这个类有3个(城市,州,邮编)string属性。 我想从array获取所有独特的状态值。 我没有读过NSPredicate类,但在这种情况下不能使用它。 我能find的唯一例子就是string操作。 有人可以帮我吗?

核心数据:NSP预测多对多关系。 (“这里不允许的多键”)

我有两个实体,分别是“分类”和“文章”,它们之间有多对多的关系。 我想形成一个谓词,它searchcategory.name等于某个值的所有文章。 我有以下几点: NSEntityDescription *entityArticle = [NSEntityDescription entityForName:@"Article" inManagedObjectContext:managedObjectContext]; NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES]; NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"categories.name == [cd] %@", category.name]; [request setSortDescriptors:sortDescriptors]; [request setEntity:entityArticle]; [request setPredicate:predicate]; NSMutableArray *results = [[managedObjectContext executeFetchRequest:request error:nil] mutableCopy]; if ([results count] > 0) NSLog(@"Results found."); else NSLog(@"NO results […]

NSPredicatetestingNULL和空白string

我有一个NSArray并需要筛选出任何string为null或者更确切地说,有''(空string)。 我怎么做? 我试过了: NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"(name!=nil)"]; 但似乎并不奏效。 或者,也许它有,但有不同种类的空…

NSPredicate:按NSDate属性过滤对象

我有一个NSDate属性的核心数据模型。 我想白天过滤数据库。 我认为解决scheme将涉及NSPredicate ,但我不知道如何把它放在一起。 我知道如何使用NSDateComponents和NSCalendar来比较两个NSDate的NSCalendar ,但是如何使用NSCalendar进行过滤? 也许我需要在我的NSManagedObject子类上创build一个类别,它可以返回只有年份,月份和date的NSManagedObjectdate。 然后我可以比较一下NSPredicate 。 这是你的build议,还是有更简单的?