【发布时间】:2015-04-24 22:18:56
【问题描述】:
以下代码由我公司的另一位员工编写,但我现在必须解决性能问题...
deleteObjectAndAllDependencies 方法从我们的 SQLite DB 中删除项目和相关数据...
tableView 仍然无法使用,但一切都已执行。我怎样才能加快这个过程?不使用功能。
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
if ([[SARAM RAM] selectedProjektIndex] == indexPath.row) [[SARAM RAM] setSelectedProjektIndex:0];
NSBlockOperation *start = [NSBlockOperation blockOperationWithBlock:^{
[[SAAufmassProject popFromDatabaseForGUID:[SARAM projektPool][indexPath.row]] deleteObjectAndAllDependencies];
[[self projectData] removeObjectAtIndex:indexPath.row];
}];
NSBlockOperation *refresh = [NSBlockOperation blockOperationWithBlock:^{
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];
[self dataHasBeenDeleted];
}];
[refresh addDependency:start];
[[NSOperationQueue currentQueue] addOperation:start];
[[NSOperationQueue currentQueue] addOperation:refresh];
}
}
【问题讨论】:
标签: ios objective-c sqlite uitableview nsoperationqueue