beginUpdates

来源:互联网 发布:数学思维训练 知乎 编辑:程序博客网 时间:2024/04/29 04:44
- (IBAction)animationsCell:(id)sender

{

    

    NSInteger countOfRowsToInsert = [self.qiushiMainListcount];

    NSMutableArray *indexPathsToInsert = [[NSMutableArrayalloc] init];

    for (NSInteger i =0; i < countOfRowsToInsert; i++) {

        [indexPathsToInsert addObject:[NSIndexPathindexPathForRow:i inSection:0]];

    }

    // 先移出数据,再动画,否则报错

    [self.qiushiMainList removeAllObjects];

    

    // Apply the updates.

    [self.qiuShiMainTableViewbeginUpdates];

    //[tableView insertRowsAtIndexPaths:indexPathsToInsert withRowAnimation:insertAnimation];

    [self.qiuShiMainTableViewdeleteRowsAtIndexPaths:indexPathsToInsert withRowAnimation:UITableViewRowAnimationTop];

    [self.qiuShiMainTableViewendUpdates];

}



删除数据源中的对应数据必须在输出行cell之前,不然会崩溃,报错

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 0.  The number of rows contained in an existing section after the update (7) must be equal to the number of rows contained in that section before the update (7), plus or minus the number of rows inserted or deleted from that section (0 inserted, 1 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).'

包含在已存在的section中的行数量在更新后必须等于更新之前对应section的行数量加上或减去插入或删除的行的数量。

0 0
原创粉丝点击