これはNSFetchedResultsコントローラの有無に関係なく良い質問です。モデルを観察しているテーブルvcを持っていて、別のView Controllerからポップしたりアニメーションを解除したりする必要があります。
おそらくもっと良い方法がありますが、最近私が同様の状況で行ったことは、子会社(プッシュまたはモーダルに表示された)vcの代理人メッセージに基づいて、モデルの更新自体をテーブルvcに行わせることでした。
ので、テーブルのVCで:
AddingVC *addingVC = [[AddingVC alloc] initWithDelegate:self];
[self presentModalViewController:addingVC animated:YES];
// adding to the model will happen in this vc, based on a delegate message
- (void)addingVcDidCreateAnObjectToAdd:(id)objectToAdd {
// add to your model here
}
追加VCは、これがない(と私はこれを完全に誇りに思ってないんだけど、それは動作します)...
- (void)thingIsReadyToAdd {
SEL selector = @selector(addingVcDidCreateAnObjectToAdd:);
[self.delegate performSelector:selector withObject:objectToAdd afterDelay:1.5];
// 1.5 is on the long side, since the vc transition is about 0.5, so 1.0 is okay
}
で私の私はより一般的なデリゲートプロトコルを使用して、最初のパラメータとしてaddingVCを渡しましたが、遅延でこれを行うには冗長なNSInvocationが必要なので、ここでは省略しました。私も悩まされている質問に+1してください。私は他人の解決策が不思議です。