Tag: 谓词

date谓词不起作用

来自核心数据的所有对象 { dtStartDate = "Jun 10, 2016-10:40 AM"; }, { dtStartDate = "May 12, 2016-06:55 AM"; }, { dtStartDate = "May 12, 2016-08:05 AM"; }, { dtStartDate = "May 12, 2016-02:30 PM"; }, { dtStartDate = "Jun 12, 2016-07:50 AM"; }, { dtStartDate = "Jul 12, 2016-08:50 AM"; }, { dtStartDate = "Jun 12, 2016-07:50 […]

在NSM中筛选Realm中的查询会引发NSInvalidArgumentException

我到处寻找,甚至用一些永不消失的病毒警告信息打到一些可疑的网站,我无法弄清楚这一点。 我只是试图按date筛选Results<T>对象: let messages = realm.objects(RMChatMessage).filter("timestamp > \(date)) AND (timestamp <= \(to))")) 而且每当这条线路运行时,就会产生以下结果: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "timestamp > 1970-01-01 00:00:00 +0000"' *** First throw call stack: ( 0 CoreFoundation 0x000000010fba8c65 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x000000011174ebb7 objc_exception_throw + 45 2 Foundation 0x000000010ffb66bd _qfqp2_performParsing […]

NSPredicate不能使用计算字段

我有一个核心数据项目,难以用简单的计算字段search数据,不知道为什么它不工作。 我有一个导师实体,核心数据string属性“tutorFirstName”和“tutorLastName”。 我已经创build了一个额外的string属性“tutorFullName”,这是填充在一个类别中,如下所示: NSString *fullName = [@[self.tutorFirstName, self.tutorLastName] componentsJoinedByString:@" "]; 数据填充良好,但是当我执行以下search时,只有tutorFirstName和tutorLastName上的谓词工作: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"tutorFirstName = %@", @"Sean"]; [fetchRequest setPredicate:predicate]; NSArray *fetchedObjects = [moc executeFetchRequest:fetchRequest error:&error]; NSLog(@"Search on %@ returned %lu items (%@)",predicate, (unsigned long)fetchedObjects.count, [fetchedObjects objectAtIndex:0]); predicate = [NSPredicate predicateWithFormat:@"tutorFullName = %@", @"Sean Silverman"]; [fetchRequest setPredicate:predicate]; fetchedObjects = [moc executeFetchRequest:fetchRequest error:&error]; NSLog(@"Search on […]

在Swift中使用谓词

我正在通过这里的教程(学习Swift)为我的第一个应用程序: http : //www.appcoda.com/search-bar-tutorial-ios7/ 我被困在这部分(Objective-C代码): – (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"name contains[c] %@", searchText]; searchResults = [recipes filteredArrayUsingPredicate:resultPredicate]; } 任何人都可以build议如何在Swift中创buildNSPredicate的等价物?

核心数据:谓有序关系中的第一个元素

我有这至多包含至less一个元素的关系: Appointment <<——>> Invitee appointment.invitees是导致NSOrderedSet的有序关系 。 在由读取结果控制器控制的表视图中,列出了约会,以及被邀请者集合的第一个元素。 现在我想用被邀请者的名字来search这个列表,使用NSPredicate 。 但是如何引用谓词中有序列表的第一个元素呢? 我试过了: fetchRequest.predicate = [NSPredicate predicateWithFormat: @"invitees[FIRST].lastName CONTAINS[cd] %@", searchTerm]; 但是我得到了unimplemented SQL generation for predicate错误。 这是有道理的,因为结果是一个集合,但不是一个严格的数组。 不过,我认为sqlite商店必须build模的顺序,所以它应该是可检索的。 有什么build议?

使用谓词过滤基于另一个数组的NSArray

考虑下面的数组。 数组包含“Alpha”types的对象。 我们只关心NSStringtypes的属性username 。 NSArray *some_usernames = @[ <multiple values of type Alpha> ] NSArray *all_usernames = @[ <multiple values of type Alpha> ] 我基本上想要所有的用户名不在数组some_usernames ,即 NSArray *remaining_usernames = @[ <all_usernames but not in some_usernames> ]; 我打算这样做的方式是: NSPredicates *predicates; for (Alpha *alpha in some_usernames) { predicate = [predicate with @"username != %@", alpha.username]; predicates.add(predicate) } […]

使用聚合操作崩溃:Core Data iOS应用程序中的“ALL”

我正在一个iPhone应用程序,我有一个简单的多对多关系设置组和联系对象。 一个组可以有很多联系人,联系人可以属于多个组。 我尝试使用以下谓词select特定联系人不属于的所有组。 (注意:uid字段是我用来唯一标识联系人实体的string字段) [NSPredicate predicateWithFormat:@"ALL contacts.uid != %@", contactUId] 根据苹果的谓词编程指南,ALL聚合操作是有效的,但我得到以下exception,指出这是一个不受支持的谓词: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unsupported predicate (null)' 我可以使用一个类似的谓词来使用这个谓词来select一个联系人已经属于的所有组,所以看起来我具有正确定义的所有关系和字段。 [NSPredicate predicateWithFormat:@"ANY contacts.uid == %@", contactUId] 构造谓词时抛出exception,而不是当我试图实际执行获取请求,所以它似乎与我正在使用的语法而不是核心数据支持相关。 我究竟做错了什么?