2011-12-16 4 views
0

コアデータで保存操作を実行し、正常に終了しました。データが保存されます。データもログに取り込まれました。これはログのデータを取得するための私のコードですが、私はTableViewでこのデータをフェッチする方法を知らない。コアデータからテーブルビューを取り込む

NSError *error; 


DemoAppCoreDataAppDelegate *appdelegate = (DemoAppCoreDataAppDelegate *)[[UIApplication sharedApplication]delegate]; 
NSManagedObjectContext *context = [appdelegate managedObjectContext]; 
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName: @"Employee" inManagedObjectContext:context]; 
[fetchRequest setEntity:entity]; 

NSArray *fetchedobject = [context executeFetchRequest:fetchRequest error:&error]; 
tablearray = [[NSMutableArray alloc] initWithArray:fetchedobject copyItems:YES]; 


for (NSManagedObject *info in fetchedobject) { 

    NSLog(@ "%@",[info valueForKey:@"name"]); 
} 

[fetchRequest release]; 

答えて

5

私はNSFetchedResultsControllerを使用することをお勧めします。

Appleは、具体的にtableViewとコアデータの間で動作するように設計されてNSFetchedResultsController documentation

NSFetchedResultsControllerに完全なサンプルコードを提供します。それはすべてをより簡単にします。
たとえば、コアデータからオブジェクトを追加または削除すると、自動的に行が挿入および削除されます。このためには、NSFetchedResultsControllerDelegateプロトコルを実装する必要があります。これの完全なサンプルコードはprotocol documentation

です
1

のtableViewにdataSourceとして使用fetchedobject

[fetchRequest release];の後に、tableViewのデリゲートとデータソースをプログラム的に設定します。

関連する問題