Core Dataを使用してアプリケーションを作成しようとしていますが、コアデータデータベースの読み取りと書き込みに成功しました。ただし、1つのView Controllerでデータベースに書き込むと、アプリを閉じてから再度開くまで、他のViewControllerは変更を確認できません。これは本当にイライラします。- (void)refreshObject:(NSManagedObject *)object mergeChanges:(BOOL)flag
refreshメソッドを機能させる方法が完全にはわかりません。管理対象オブジェクトへの参照を取得するにはどうすればよいですか?
とにかく、これが私がデータを読み戻すために使用しているコードです。これはviewDidLoadメソッドにあります。
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Website" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"siteName" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[sortDescriptor release];
[sortDescriptors release];
NSError *error = nil;
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if(mutableFetchResults == nil) {
//Handle the error
}
[self setNewsTitlesArray:mutableFetchResults];
[mutableFetchResults release];
[request release];
[newsSourcesTableView reloadData];
よろしくお願いします!