我是obj-c的新手,在这里编写一个便捷例程来从Core Data存储中获取实体。 XCode警告我,我错过了一个返回值。为什么呢?
- (NSArray *)findEntities:(NSString *)entityName byField:(NSString *)fieldName andValue:(id)fieldValue
{
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:entityName];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K == %@", fieldName, fieldValue];
[fetchRequest setPredicate:predicate];
NSError *error;
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
if (error) {
NSLog(@"LWStore: findEntities error: %@", [error localizedDescription]);
}
return fetchedObjects;
}
警告附加到executeFetchRequest行。
答案 0 :(得分:1)
将此代码粘贴到一个新项目中没有错误,这是可以理解的,因为它看起来总是返回一个值。尝试清理,分析或任何会导致Xcode重新检查错误并查看错误是否消失的内容。
答案 1 :(得分:0)
干净整洁。按command + shift + K
作为快捷方式,然后按command + b
。我能够在没有任何警告的情况下构建您的方法。这可能是在那条线上出现的早期警告。干净的构建应该修复它。