您好我有一个表视图,当我删除一个单元格时,我从NSMutableArray中删除一个项目,归档该数组,并删除该单元格。
然而,当我这样做时,它会导致删除按钮在我单击它后滞后。有什么方法可以解决这个问题吗?
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
int row = [indexPath row];
[savedGames removeObjectAtIndex:row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
//this line causing lag
[NSKeyedArchiver archiveRootObject:savedGames toFile:[self dataFilePath]];
}
}
由于
答案 0 :(得分:0)
听起来你已经知道了答案 - 不要在每次删除时归档所有内容。这可以通过多种方式完成 - 一次只归档,延迟归档(定期/退出/其他策略时),或者使自定义归档代码更快,我怀疑在这个方案中有多大帮助。的东西。我已经听说 MAKeyedArchiver比NSKeyedArchiver更快,但我相信这是前段时间的,并且专为mac +潜在的平台特定而设计(从好的方面来看,它的目的是替代它当时的NSKeyedArchiver API,如果你选择使用它,它应该是很少的集成时间。)