0

UIViewControllerに設定されているtableViewをリロードするのに少し問題があります。

  • CoreDataが入力されています(これは機能します)
  • また、いくつかの設計目的のためにカスタムTableViewCellを取得します

今、私が通常使用するのはこれです:[_mainTableView reloadData];

今回は機能しません。

これはカスタムセルが原因ですか、それともCore DataのFetchRequestが最初は正常に読み込まれ、アプリを再起動するとデータが表示されますか?

SOとGoogleでいくつかの質問とチュートリアルを見てきましたが、私の場合はどれも機能していないようです。

私はこれらの方法も調べました:

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller
{
    [self.tableView beginUpdates];
}

- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller
{
    [self.tableView endUpdates];
}

ここで見つかりました:beignUpdates

アドバイスをいただければ幸いです。

4

2 に答える 2

0

テーブルビューを合成しましたか?これを試してください:

[self.mainTableView reloadData];

うまくいくことを願っています。また、viewWillAppearでリロードするので、新しい時間を割り当てたり、デリゲート/データソースの割り当てを再度行ったりしないようにしてください。初めての場合は、次のようにします。

_mainTableView.delegate = nil; _mainTableView.delegate = self; //同様に、データソースの場合...

そして、viewWillAppearを明示的に呼び出す必要があります(すでにこれを行っていると思います)。

ご不明な点がございましたらお知らせください。

ありがとう。

于 2012-11-30T04:07:56.597 に答える
0

入力していただきありがとうございます。ようやく整理できました。

を呼び出す代わりに[_mainTableView reloadData]、fetchmethod を再度呼び出す必要がありました。

    if (_managedObjectContext == nil)
{
    _managedObjectContext = [(AppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
    NSLog(@"After _managedObjectContext: %@", _managedObjectContext);
}

[self setupFetchedResultsController];
于 2012-11-30T04:17:13.853 に答える