NSFetchedResultsControllerDelegateを使用して、「イベント」を出力するテーブルビューの変更を検出しています。しかし、「イベント」は「isFollowed」番号(Assiciation.isFollow == 1
の場合はイベントを印刷し、それ以外の場合は表示されません)を含む「関連」にリンクされます。これらのisFollow BOOLは変更できますが、NSFetchedResultsControllerDelegateは "Association"ではなく "Events"の変更を検出します。だから私はこのコードを使用しています特定のコアデータテーブルの変更を検出する
- (void) viewWillAppear:(BOOL)animated{
//[self setMyFetchedResultsController:nil];
NSError *error = nil;
[myFetchedResultsController performFetch:&error];
[[self myTableView] reloadData];
}
テーブルを毎回リロードします。問題は、効率的ではないということです。コントローラが有用なときだけでなく、コントローラが更新されるたびに更新されるからです。そこで、コアデータの特定のテーブル内の特定の行の変更を検出するソリューションがあるかどうか、あるいはより良い方法を考えているかどうかを知りたかったのです。
おかげで、ニールス・
特定の時刻にmanagedObjectのハッシュコードを取得する方法はありますか?たとえば、コードは3です。次に、変更を加えて保存します。コードは4です。コードが異なる場合にのみ更新します。まず、hasChangeの使用について考えましたが、それはコミットされていない変更のためのものです。ここではコミットされた変更を行っています。 –
保存通知のNSUpdatedObjects部分に十分なプレゼンスがないのはなぜですか? – ImHuntingWabbits