简单的问题。谁能告诉我这段代码有什么问题?
+ (NSManagedObject*) managedObjectWithServerId:(NSInteger)serverId inManagedObjectContext:(NSManagedObjectContext*)context{
//Execute request and get all the results
NSError * error = nil;
NSFetchRequest * request = [NSFetchRequest fetchRequestWithEntityName:NSStringFromClass(self)];
request.predicate = [NSPredicate predicateWithFormat:@"serverId == %@" argumentArray:[NSArray arrayWithObject:[NSNumber numberWithInteger:serverId]]];
NSArray * results = [context executeFetchRequest:request error:&error];
}
结果数组始终是一个包含 0 个对象的 NSArray,没有给出错误,什么也没有。只是一个 0 计数数组。并且不可能总是返回 0 个元素,我正在使用 SQLite 资源管理器探索 Core Data 数据库,并且serverId
我要求有元素,所以应该至少有 1 个。
我做谓词错了吗?
上面的代码是在一个NSManagedObject
类中实现的,调用方式如下:
[User managedObjectWithServerId:whatev inManagedObjectContext:context];
User
我的模型和子类中的实体在哪里NSManagedObject
?