【发布时间】:2016-08-01 13:56:19
【问题描述】:
我只想获取那些没有 null lastname 的 NSString 类型的用户。
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"USER" inManagedObjectContext:dbHandler.managedObjectContext];
NSMutableArray * predicateArray = [[NSMutableArray alloc] init];
NSPredicate * predicate1 = [NSPredicate predicateWithFormat:@"id = %@",abc];
[predicateArray addObject:predicate1];
NSPredicate * predicate2 = [NSPredicate predicateWithFormat:@"lastname != %@",nil];
[predicateArray addObject:predicate2];
NSCompoundPredicate * resultantPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:predicateArray];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:resultantPredicate];
NSError *fetchError = nil;
NSArray *result = [dbHandler.managedObjectContext executeFetchRequest:fetchRequest error:&fetchError];
Predicate2 由于某种原因无法正常工作。应用它后,即使 DB 包含一些姓氏的非 Null 字符串值,也不会返回任何对象。请告诉代码有什么问题,或者有什么方法可以只从核心数据中获取非空字符串。
【问题讨论】:
-
将单词
nil直接放在格式字符串中。 -
无,无,Null 没用!
-
@Divjyot - 尝试重复的答案一次,如果重复的答案不能解决你的问题,我会再次打开你的问题
-
将尝试 NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name!=nil AND name!=' ' "];
-
@Anbu.Karthik 不,原来的答案已经提到它不适用于核心数据.....
标签: ios objective-c core-data iphonecoredatarecipes