Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 触发NSFetchedResultsController更新时使用reloadRowsAtIndexPaths_Ios_Uitableview_Swift_Nsfetchedresultscontroller - Fatal编程技术网

Ios 触发NSFetchedResultsController更新时使用reloadRowsAtIndexPaths

Ios 触发NSFetchedResultsController更新时使用reloadRowsAtIndexPaths,ios,uitableview,swift,nsfetchedresultscontroller,Ios,Uitableview,Swift,Nsfetchedresultscontroller,我的UITableView中有一些行被更新,然后触发NSFetchedResultsControllerDelegate委托的方法控制器:didChangeObject:atIndexPath:forChangeType:newIndexPath 我通常使用带有动画的reloadRowsAtIndexPaths更新tableView中的行,但有时会因为不可见的更改而触发该方法,在这种情况下,我不希望使用动画重新加载行 该方法不提供对象的先前状态。有什么方法可以这样做吗?我没有找到代理的任何方法可

我的UITableView中有一些行被更新,然后触发NSFetchedResultsControllerDelegate委托的方法控制器:didChangeObject:atIndexPath:forChangeType:newIndexPath

我通常使用带有动画的reloadRowsAtIndexPaths更新tableView中的行,但有时会因为不可见的更改而触发该方法,在这种情况下,我不希望使用动画重新加载行


该方法不提供对象的先前状态。有什么方法可以这样做吗?我没有找到代理的任何方法可以这样做?

如果您的代理也是TableViewController,您可以在IndexPath上检查UITableView的数据源。reloadRowsAtIndexPaths方法知道索引。

问题是,当我使用触发的方法时,我无法访问旧对象,因此我不知道发生了什么变化,我的意思是我知道,但代码不知道……为什么不保留一份副本呢?我假设您将数据存储在tableView的数组中?只存储两个阵列,只更新一个。是的,我考虑过,但想知道是否有其他/更好的方法