Iphone 延迟NSFetchedResultsController委托方法

Iphone 延迟NSFetchedResultsController委托方法,iphone,objective-c,ios,core-data,Iphone,Objective C,Ios,Core Data,我有一个基于NSFetchedResultsController的UITableView。要在表中插入新行,我打开一个模态视图控制器,然后点击save按钮,该按钮将取消模态视图,并触发我的NSFetchedResultsController委托方法(willChangeContent、didChangeObject`,等等),从而为插入新单元格设置动画。一切都很好,但我希望用户能够看到这个动画,当模态视图消失时,动画已经完成 如何延迟此动画直到模态视图完全消失,以便用户可以观看动画?这是一个好问

我有一个基于NSFetchedResultsController的
UITableView
。要在表中插入新行,我打开一个模态视图控制器,然后点击save按钮,该按钮将取消模态视图,并触发我的
NSFetchedResultsController
委托方法(willChangeContent、didChangeObject`,等等),从而为插入新单元格设置动画。一切都很好,但我希望用户能够看到这个动画,当模态视图消失时,动画已经完成


如何延迟此动画直到模态视图完全消失,以便用户可以观看动画?

这是一个好问题,无论是否使用NSFetchedResults控制器-您有一个观察模型的表vc,您希望用户在另一个视图控制器中弹出或关闭后看到动画更改

可能有更好的方法,但我最近在类似情况下做的事情是让表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可以做到这一点(我并不为此感到自豪,但它确实有效)

在我的例子中,我使用了一个更传统的委托协议,将addingVC作为第一个参数传递,但是延迟传递需要一个详细的NSInvocation,所以我在这里跳过了它+我也为这个困扰我的问题道歉。我对别人的解决办法很好奇

- (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
}