【发布时间】:2019-08-01 13:18:31
【问题描述】:
我正在将我当前的 UITableview 更新为 iOS 13 UITableViewDiffableDataSource 提供的可区分数据源。
我有一个带有自定义对象的数组(实现 isEqual: 方法)。在 viewWillAppear 上,我从磁盘加载数据并调用申请快照。
-(void)updateTableViewAnimated:(BOOL)animated API_AVAILABLE(ios(13.0)){
NSDiffableDataSourceSnapshot *snapshot = [[NSDiffableDataSourceSnapshot alloc]init];
[snapshot appendSectionsWithIdentifiers:@[@"sectionTitle"]];
[snapshot appendItemsWithIdentifiers:self.playlists];
[self.diffDataSource applySnapshot:snapshot animatingDifferences:animated];
}
一切都加载了。但是当尝试从数组中删除一个项目并再次调用updateTableViewAnimated: 时,我得到了一个异常。
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“移动关联不一致”
这是什么意思? 我该如何解决?
【问题讨论】:
-
您找到解决方案了吗?
标签: objective-c uitableview ios13