我对NSPRedicate
有问题;它返回零值。但是我的ObjectType
看到了;也许predecateFormat
有问题?
我有3个对象,并且按类型获取。资源:
typedef NS_ENUM(NSUInteger, ObjectType) {
FirstType,
SecondType,
ThdType,
};
然后我处理CoreData请求:
- (NSArray *)objectsByType:(ObjectType)type{
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[self objectEntity]];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"self.objectType == %d", type];
[request setPredicate:pred];
NSError *err = nil;
NSArray *objects = [[self managedContext] executeFetchRequest:request error:&err];
if(err){
DLog(@"Failed to fetch objects %@", [err localizedDescription]);
}
return objects;
}
我认为问题就在这里。
最佳答案
将您的类型设置为NSNumber
,因为这是存储在Core Data中的内容。 @"self.objectType == %@", @(type)
关于ios - NSPredicate类型对象问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25720158/