個々のセルだけでなく、基になるデータソースの構造が変更される可能性がある 1 つの画面に UITableView があります。
同じ UITableView でそれを実行してから reload を呼び出すと、テーブルの構造が変更されたというエラーが表示されます (行数、セクション数が異なるなど)。
これは私が得るエラーです:
*キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了します。理由: '無効な更新: セクションの数が無効です。更新後のテーブル ビューに含まれるセクションの数 (1) は、更新前のテーブル ビューに含まれるセクションの数 (21) に、挿入または削除されたセクションの数 (0 挿入、0削除されました)」
すべてのセクションを削除してから新しいセクションを追加して、テーブルを本当に変更する必要がありますか?
したがって、基本的に私の質問は、これを正しく行う方法です。プログラムで新しい UITableView を作成し、最初のテーブルから rect、bkgnd カラー、デリゲート、およびデータソースを使用することもできますが、IB で設定したすべての制約は新しいテーブルに対して失われます。
これらすべての制約を古いテーブルから取得して、新しいテーブルに与えるにはどうすればよいですか?
新しいデータソースを設定しただけでも、上記のエラーが発生します。新しいデータソースで新しい UITableView を作成した場合にのみ、上記のエラーは発生しません。
または、すべての UI 属性と制約を変更せずに、まったく異なる基になるデータで UITableView をリセットする別の方法はありますか?