0

断点位于 [self.tableView...] 行。

这是我第一次遇到这样的错误。我正在搞乱一个实现滑动删除功能的 cocoapod。

- (void)swipeTableViewCell:(MCSwipeTableViewCell *)cell didTriggerState:(MCSwipeTableViewCellState)state withMode:(MCSwipeTableViewCellMode)mode
{
    NSLog(@"IndexPath : %@ - MCSwipeTableViewCellState : %d - MCSwipeTableViewCellMode : %d", [self.tableView indexPathForCell:cell], state, mode);

    if (mode == MCSwipeTableViewCellModeExit)
    {

        // Remove the item in your data array and then remove it with the following method
        [self.tableView deleteRowsAtIndexPaths:@[[self.tableView indexPathForCell:cell]] withRowAnimation:UITableViewRowAnimationFade];


    }
}

另外,假设有办法解决这个问题,是否可以从我的 Parse 后端删除该对象?最初我使用的是:

PFObject *object = [self.objects objectAtIndex:indexPath.row];
        [object deleteInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
            [self loadObjects];

谢谢你的帮助。

4

2 回答 2

1

断言失败只能由显式调用其中一个NSAssert函数引起。这些用于测试开发人员所做的某些假设是否正确。他们“断言”这些假设的真实性,如果它们不真实,则抛出异常。

据我所知,任何 Apple 开发人员库中都没有断言。这意味着要么你在你的代码中加入了一个断言,或者——更有可能——你正在使用的 cocoapod 的代码中有一个断言。获取源并在全球范围内搜索“NSAssert”以了解正在发生的事情。

于 2013-03-19T01:43:50.977 回答
0

通常,从 tableView 中删除项目时,您需要先修改底层数据。换句话说,如果您从数组中绘制表格,首先从数组中删除行,然后从表格中删除行。

如果这不起作用,您可以尝试:

[mytableView beginUpdates];

//do my changes

[mytableView endUpdates];
于 2013-03-19T01:35:54.857 回答