核心数据崩溃与无效谓词:nil RHS

时间:2014-03-15 19:55:18

标签: ios objective-c core-data

我在执行获取请求时遇到此崩溃,但是从崩溃报告中可以清楚地看到崩溃的原因是谓词是nil。我已经为startDate为零的情况添加了一个检查。我应该注意无效谓词还有其他潜在原因吗?

NSFetchRequest *calRequest = [NSFetchRequest fetchRequestWithEntityName:@"Calendar"];
calRequest.predicate = [NSPredicate predicateWithFormat:@"date >= %@", startDate];
calRequest.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"date" ascending:YES]];
NSError *error = nil;
NSArray *results = [appDelegate.managedObjectContext executeFetchRequest:calRequest error:&error];

崩溃报告

Thread : Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x30534f03 __exceptionPreprocess + 130
1  libobjc.A.dylib                0x3acc9ce7 objc_exception_throw + 38
2  CoreData                       0x30289f17 -[NSComparisonPredicate(_NSCoreDataSQLPredicateCategories) minimalFormInContext:] + 926
3  CoreData                       0x3028952b -[NSSQLGenerator initializeContextForFetchRequest:ignoreInheritance:nestingLevel:] + 538
4  CoreData                       0x30288f9f -[NSSQLGenerator newSQLStatementForFetchRequest:ignoreInheritance:countOnly:nestingLevel:] + 34
5  CoreData                       0x30288e3f -[NSSQLAdapter _newSelectStatementWithFetchRequest:ignoreInheritance:] + 406
6  CoreData                       0x30288aa3 -[NSSQLCore newRowsForFetchPlan:] + 114
7  CoreData                       0x302881e7 -[NSSQLCore objectsForFetchRequest:inContext:] + 698
8  CoreData                       0x30287c8b -[NSSQLCore executeRequest:withContext:error:] + 446
9  CoreData                       0x30287539 -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 2892
10 CoreData                       0x3028593b -[NSManagedObjectContext executeFetchRequest:error:] + 614
11 MyApp                           0x0010b769 -[Calendar calendarLoad] (Calendar.m:152)
...

0 个答案:

没有答案