私はいくつかのセクションを持つテーブルビューを持っています。ある時点で、tableViewからセクションを削除したいと考えています。これを行うには、私は、ヘッダーのロングタップジェスチャーを持っている、と長いタップに私はそうのようなUIMenuControllerを持ち出す:これは、ヘッダーのための私のカスタムビューサブクラスで行われEXC_BAD_ACCESS TableViewセクションを削除しようとしたとき
UIMenuController *deleteMenu = [UIMenuController sharedMenuController];
UIMenuItem *delete = [[UIMenuItem alloc] initWithTitle:@"Delete" action:@selector(deleteCell:)];
[deleteMenu setMenuItems:[NSArray arrayWithObject:delete]];
[deleteMenu update];
[deleteMenu setTargetRect:CGRectMake(0, 0, 320, 460) inView:self.superview];
[deleteMenu setMenuVisible:YES animated:YES];
。 deleteCell:
メソッドでは、デリゲートメソッドを呼び出します(デリゲートは、テーブルビューを所有するビューコントローラです)。デリゲートメソッドの実装で は、私は(セクションがintである)のようなセクションを削除しよう:
[statsTable deleteSections:[NSIndexSet indexSetWithIndex:section] withRowAnimation:UITableViewRowAnimationAutomatic];
このラインでは、私はEXC_BAD_ACCESSを取得します。変わったことは、これが起こるとXcodeもクラッシュするため、私はBAD_ACCESSの原因を見ることができません。なぜこれが起こっているのか誰かが知っていれば、あなたの助けは大いに評価されるでしょう。
おかげで、
EDIT ::ソリューション、それはあなたがテーブルビューから何かを削除できるようにするために最初の応答者になるために持っているテーブルビューを持っているVCが見つかり。ありがとう
NSZombiesを有効にして実行しましたか? – CodaFi
いいえ、どうすればいいのですか?私はARCを使用しているので、私は必要ないと思った。 –
ええ、ARCであなたは正しいです、あなたはする必要はありません。セクションを削除する前に-beginUpdatesと-endUpdatesを呼び出しますか? – CodaFi