2009-08-26 12 views
1

私は少し錆びているので、私は私のTableViewControllerを台無しにして以来、しばらくしています...しかし、今セクションを表示するには、ゼロ行を持つように設定したいが空の場合)、コントローラーに「横たわり」、numberOfRowsInSectionに1を返します。次に、cellForRowAtIndexPathでは、「このセクションは空です」という効果を示す1行のセルにUILabelを配置します。テーブルが編集モードで、ユーザーは、私は次のエラーを取得する最後の行を削除するとき最後の行を削除するNSTableViewの問題

問題がある:「無効なアップデート:キャッチされない例外により「NSInternalInconsistencyException」、理由にアプリを終了

行の数が無効です。 update(1)の後の既存のセクションに含まれる行の数は、update(1)の前にそのセクションに含まれる行の数にプラスまたはマイナスの数を加えなければなりませんセクション(挿入された0、削除された1)。

テーブルを再描画しようとするとスワイプして削除すると、最後の行がまだ残っていることがわかりました。どこで/これをどう扱うべきですか?確かに私はクロッピングアップルのHIGの全体にある程度までですが、それは私のユーザーが空のセクションの上にちょうどヘッダーを持つことは混乱しています...

ありがとう!

答えて

0

-insertRowsAtIndexPaths:withRowAnimation:を使用して実際に「偽の」行を挿入する必要があります。 UITableViewの観点からは、「実際の」行または「偽の」行はありません。データソースには何行も存在すると言われています。あなたは1行を持っていて1行を削除した後、UITableViewは「そこに何行ありますか?」と尋ねました。あなたは1と言っていて、UITableViewは「1-1-1 = 1」と言っていました。

行(「実」または「偽」がすべて同じ)を挿入する場合は、UITableViewに挿入するように指示する必要があります。

関連する問題