コンテンツのないシンプルなデモ アプリケーションをセットアップしましたUITableViewController
が、ツールバーに [追加] ボタンがあります。これにより、「キャンセル」ボタン以外は空のモーダル ビュー コントローラーが起動します。キャンセル ボタンは、そのdelegate
( UITableViewController
) にモーダルを閉じるように指示するだけです。
次に、のメソッドNSLog
にステートメントを追加しました。UITableViewController
numberOfSectionsInTableView
通常、テーブル ビュー コントローラーが読み込まれると、 への 2 つの呼び出しが表示されますnumberOfSectionsInTableView
。モーダルを開いて閉じると (に戻りますUITableViewController
)、それ以上の呼び出しは表示されませんnumberOfSectionsInTableView
。
ただし、0
から戻るnumberOfSectionsInTableView
と、表示されている 2 つの呼び出しに加えて、モーダルが閉じられたときに追加の numberOfSections 呼び出しも表示されます。
numberOfSectionsInTableView
これは が返された場合にのみ発生し0
、言及した以外のコードをプロジェクトに追加していません。これは、説明したようにいくつかのコントローラーをセットアップし、 の結果を変更することで簡単に確認できますnumberOfSectionsInTableView
。
私の質問:
- モーダル ビューから戻ったときに
UITableView
呼び出しが行われるのはなぜですか?numberOfSectionsInTableView
numberOfSectionsInTableView
を返す場合にのみこれを行うのはなぜ0
ですか?- に加えて
numberOfSectionsInTableView
、モーダルが閉じられたときにUITableViewController
も呼び出されます。cellForRowAtIndex:
実際、その の新しいコンテンツを表示しようとしていますdataSource
。追加された最初の行が既に自動的に更新される場合、行の挿入を手動でアニメーション化するにはどうすればよいですか?UITableView
myが its と一致していることを確認するのは私に任せるべきではありませんdataSource
か? UITableViewController
1 つ以上のセクションがあることを確認するためのチェックはどのプロパティですか(したがって、デリゲートにセクションの数を尋ねます)。numberOfSectionsInTableView
numberOfSections = 0の場合だけでなく、モーダルから戻るたびに呼び出されるため、それ自体ではありません。