0

ブレークポイントは [self.tableView...] 行にあります。

このようなエラーに遭遇したのはこれが初めてです。スワイプして削除する機能を実装するココアポッドをいじっています。

- (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 開発者ライブラリのいずれにも同梱されていません。これは、コードにアサーションを挿入したか、使用しているココアポッドのコードにアサーションがある可能性が高いことを意味します。ソースを入手し、「NSAssert」をグローバル検索して、何が起こっているのかを把握してください。

于 2013-03-19T01:43:50.977 に答える
0

通常、tableView から項目を削除する場合は、最初に基になるデータを変更する必要があります。つまり、配列からテーブルを描画する場合は、最初に配列から行を削除してから、テーブルから行を削除します。

それでもうまくいかない場合は、次を試してください。

[mytableView beginUpdates];

//do my changes

[mytableView endUpdates];
于 2013-03-19T01:35:54.857 に答える