-1

我是 obj-c 的新手,在这里编写一个方便的例程来从核心数据存储中获取实体。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 行。

4

2 回答 2

1

将此代码粘贴到新项目中不会出现任何错误,这是可以理解的,因为看起来您总是会返回一个值。尝试清理、分析或任何会导致 Xcode 重新检查错误并查看错误是否消失的事情。

于 2012-11-09T22:48:56.183 回答
0

做一个清洁和构建。按command + shift + K快捷方式,然后按command + b。我能够在没有任何警告的情况下构建您的方法。这可能是那条线上的较早警告。一个干净的构建应该修复它。

于 2012-11-09T23:21:22.703 回答