マスター ディテール デザイン パターンを使用する Core Data iPad アプリに取り組んでいます。を更新した後に行を追加してアニメーション化しようとしていmanagedObjectContext
ます。現在、オブジェクトを追加すると、テーブル ビューに表示されます。Stanford Core Data Table View クラスを使用しています。
これは私の追加オブジェクト デリゲートの保存メソッドです。
- (void)addObjectSaveButtonTapped:(iPadAddObjectViewController *)controller {
[self dismissModalViewControllerAnimated:YES];
[self setupFetchedResultsController];
}
これは私のsetupFetchedResultsController
方法です:
- (void)setupFetchedResultsController {
NSString *entityName = @"Object";
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:entityName];
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"objectName" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:nil];
[self performFetch];
}
これがperformFetch
メソッドです。
- (void)performFetch
{
_debug = YES;
if (self.fetchedResultsController) {
if (self.fetchedResultsController.fetchRequest.predicate) {
if (self.debug) NSLog(@"[%@ %@] fetching %@ with predicate: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), self.fetchedResultsController.fetchRequest.entityName, self.fetchedResultsController.fetchRequest.predicate);
} else {
if (self.debug) NSLog(@"[%@ %@] fetching all %@ (i.e., no predicate)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), self.fetchedResultsController.fetchRequest.entityName);
}
NSError *error;
[self.fetchedResultsController performFetch:&error];
if (error) NSLog(@"[%@ %@] %@ (%@)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), [error localizedDescription], [error localizedFailureReason]);
} else {
if (self.debug) NSLog(@"[%@ %@] no NSFetchedResultsController (yet?)", NSStringFromClass([self class]), NSStringFromSelector(_cmd));
}
[self.tableView reloadData];
}
オブジェクトの追加にアニメーションを追加する方法はありますか?