0

マスター ディテール デザイン パターンを使用する 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];
}

オブジェクトの追加にアニメーションを追加する方法はありますか?

4

1 に答える 1

1
[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:yourIndexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];

UITableViewにも同様の方法があり、insertSections:withRowAnimation:

于 2012-08-19T22:46:20.340 に答える