我已經將以下內容添加到Core Data Recipes示例中的AppDelegate,但是我沒有在控制檯中獲得任何打印結果...任何想法?iPhone dev:您如何打印Core Data fetchRequest的結果?
#pragma mark -
#pragma mark TESTING RETRIEVAL OF RECIPE NAMES
- (NSArray *)allRecipes{
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"name" inManagedObjectContext:self.managedObjectContext];
[request setEntity:entity];
NSArray *result = [[NSArray alloc] init];
result = [self.managedObjectContext executeFetchRequest:request error:NULL];
NSManagedObject *firstObject = [result objectAtIndex:0];
NSLog(@"firstObject.name: %@", [firstObject valueForKey:@"name"]);
}
的XCode給我這個方法實施後的警告:「控制到達非void函數結束」
我想這意味着我沒有得到任何結果......這是顯而易見的,因爲沒有正在打印。
1.作爲「entityForName:」,你應該提供一個實體(類)名稱(例如@「Recipe」),而不是一個鍵。 2.警告是因爲您沒有將NSArray *返回給調用者: 返回結果; 3.您可以通過詢問陣列的大小來檢查是否有任何記錄被提取: [結果計數] 4.您最初如何使用數據填充上下文? – gerry3