1

NSFetchedResultsControllerUINavigationControler. 当在 tableview 上点击项目时,我执行“推送”并传递特定实体,prepareForSegue以便显示有关该记录的更详细数据。

在详细视图控制器中,可以编辑模型。当我更改模型时,似乎有很多滞后。我注意到tableView:cellforRowAtIndexPath:正在调用上一个视图控制器上的。

我试过使用performSelectorInBackground:,但似乎没有多大帮助。

一旦推送一个视图控制器,下面的视图控制器不应该运行吗?有没有人能够克服这个滞后问题?

谢谢

4

1 回答 1

1

我今晚实际上遇到了这个问题,并通过在我的视图控制器上添加一个新的 bool 属性来解决它,以便在我的 VC 可见时进行存储。

@property (nonatomic, assign, getter = isVisble) BOOL visible;

然后我在 FRC 委托方法的顶部检查视图是否可见。

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
    if (! self.isVisble) {
        return;
    }

    [tableView beginUpdates];
}

当拥有 FRC 的 VC 落后于其他 VC 时,这似乎有助于口吃和表现。

于 2014-01-31T03:41:31.743 回答