2

私の iPhone アプリでは、UITableView に User オブジェクトを表示する NSFetchedResultsController があります。ユーザー オブジェクトには、0 から多数のログ オブジェクトがあります。Log オブジェクトの概要は、UITableView の User オブジェクトと一緒に表示されます。

私のアプリはタブ バーを使用しているため、[ログ] タブでユーザーが入力するには、ユーザー タブの NSFetchedResultsController をトリガーしてリロードする必要があります。

これまでのところ、User オブジェクトに書き込むことでそれを行います。

log.user = nil;
log.user = [User current]; // Same as before. Just triggering a reload.
NSError *error = nil;
[myManagedObjectContext save:&error];

これは問題なく動作しますが、ハックのように見えます。

これを行うより良い方法はありますか?Log オブジェクトの変更が User オブジェクトにも反映されるように指定するのと同じように?

4

1 に答える 1

2
[myFetchedResultsController performFetch:&error];

しかし、なぜこれをしたいのですか?フェッチする新しいデータがある場合にのみリロードする必要があります。新しいデータがある場合は、保存するのNSManagedObjectContextが適切なアクションです。

あなたの根本的な目標は何ですか?

于 2010-08-10T14:56:53.930 に答える