美文网首页开发
Assertion Failure In – Uitablevi

Assertion Failure In – Uitablevi

作者: FengxinLi | 来源:发表于2016-04-05 09:04 被阅读1190次

    原因:

    1.在调用deleteRowsAtIndexPaths:方法前,要确保数据为最新。也就是说,先将要删除的数据从数据源中删除。

    2.分组和分组中行数是变动的,不能写成死的!

    3.如果是分组,你会发现很怪的现象:当一个分组中,有多条数据时,你删除其中一条,正确;当一个分组中,你要删除唯一的一条时,仍然会报出如上的错误!

    解决方法:

    删除某个分组中的最后一条数据时,分组数,和行数都要变。这时候,只调用了deleteRowsAtIndexPaths方法。也就是说,只对行数进行了操作,但是没有对变动的分组进行操作!

    查看帮助API,找到这么一个方法:deleteSections:方法!

    加上去,在删除某个分组中最后一条记录时,将该分组也删除!

    if ([tableView numberOfRowsInSection:indexPath.section] == 1) {

    [self.tableview deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section]

    withRowAnimation:UITableViewRowAnimationFade];

    } else {

    [self.tableview deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];

    }

    [self.tableview endUpdates];

    相关文章

      网友评论

        本文标题:Assertion Failure In – Uitablevi

        本文链接:https://www.haomeiwen.com/subject/wylplttx.html