40

を含むviewControllerがありUITableView、その行はスワイプで編集(削除)できます-メールアプリのように。私は、とりわけ、この方法でそれを行います:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {

    return YES;
}

ただし、削除ボタンを表示し、同時に の戻るナビゲーションを使用するとUINavigationController、つまり のときにpopViewControllerAnimated:、次のメッセージが表示されてアプリがクラッシュします。

[ViewController tableView:canEditRowAtIndexPath:]: 割り当て解除されたインスタンス 0xaae64d0 に送信されたメッセージ

この問題を解決するにはどうすればよいですか?

4

4 に答える 4

75

ビュー コントローラのdeallocメソッドで、テーブル ビューのeditingプロパティをに設定しますNO

于 2013-10-08T08:41:38.613 に答える
0
  1. 使用する

    tableview.delegate = dealloc() の nil

  2. 使用する

    tableView=nil

于 2016-12-15T00:52:41.030 に答える