在insertRowsAtIndexPaths和deleteRowsAtIndexPaths之后,iOS模拟器和设备冻结

时间:2015-02-16 01:50:42

标签: ios iphone uitableview

每当我点击我的表视图行以在其下方插入一个大行(370px)时它就会冻结,但只有当我点击的行靠近屏幕底部时才会冻结。 CPU使用率上升到100%,内存继续增加,但没有错误。

我已经查看了这个问题,但这并没有帮助UITableView insertRowsAtIndexPaths:WithRowAnimation without freeze UI

这是我的代码 - self.sectBool基本上跟踪我们是否插入了行

else if(indexPath.row == 0&& indexPath.section == 4){             self.sectBool =!self.sectBool;

        NSMutableArray *indexPaths = [NSMutableArray array];
        [indexPaths addObject:[NSIndexPath indexPathForRow:1 inSection:4]];


        if (!self.sectBool) {

            dispatch_async(dispatch_get_main_queue(), ^{
                //[self.tableview reloadData];
                [self.tableview beginUpdates];

                [self.tableview insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:1 inSection:4]]
                                      withRowAnimation:UITableViewRowAnimationRight];
                [self.tableview endUpdates];
                //[self.tableview reloadData];
            });


        }
        else{
            dispatch_async(dispatch_get_main_queue(), ^{
                //[self.tableview reloadData];
                [self.tableview beginUpdates];

                [self.tableview deleteRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:1 inSection:4]]
                                      withRowAnimation:UITableViewRowAnimationRight];
                [self.tableview endUpdates];
                //[self.tableview reloadData];
            });

        }



    }

非常感谢任何帮助!

0 个答案:

没有答案