0

ブックマークを含む UITableView があります。ブックマークが存在しない場合、デフォルトの「ブックマークなし」行を表示したいと思います。

ブックマークは編集可能です。最後のブックマークが削除されると、ブックマーク行はデフォルトの「[ブックマークなし]」行に置き換えられます。しかし、Cocoa Touch はこれを非常に嫌い、以前よりも削除後の行数が少なくなるはずであるという内部アサーションが原因でクラッシュします。

下のスクリーンショットで削除を押すと

ここに画像の説明を入力

次のエラーでアプリがクラッシュします。

無効な更新: セクション 0 の行数が無効です。更新後の既存のセクションに含まれる行数 (1) は、更新前にそのセクションに含まれる行数 (1) にプラスまたはマイナスした数に等しい必要があります。そのセクションに挿入または削除された行数 (0 挿入、1 削除)、およびそのセクションに移動した行数またはそのセクションから移動した行数 (0 移動、0 移動)。

これを表示する代わりに:

ここに画像の説明を入力

どんな提案でも大歓迎です。

4

3 に答える 3

0

次のようなブロックを使用してみてください。

dispatch_async(dispatch_get_main_queue(), ^{
    //add row here.
    //reload table data
});
于 2013-08-14T21:17:41.343 に答える