Xcode 4.2 について特別なことは何もないので、他のバージョンの Xcode を参照している場合でも、見つけた他のソースに注意を払う必要があります。
正確である必要はありません[self.tableView reloadData]
。テーブル ビュー オブジェクトにreloadData
メッセージを送信します。そのテーブル ビュー オブジェクトにアクセスする方法 (自身のプロパティ、インスタンス変数、別のクラスのプロパティなど) はユーザー次第です。
すでにtableView
プロパティを設定している場合、別のビュー コントローラからデータをリロードする最も簡単な方法は、単純にテーブル ビュー オブジェクトにreloadData
メッセージを直接送信することです。したがって、たとえば、 のメソッドが呼び出されViewControllerFoo
た へのポインタを持っていて、そのテーブル ビューをリロードする必要があることがわかっている場合は、 を呼び出すことができます。ViewControllerBar
bar
[bar.tableView reloadData]
プロパティを設定していない場合は、自分で作成するかreloadData
、テーブル ビューを保持するビュー コントローラーで、他のビュー コントローラーに代わってそれを実行するメソッドを作成できます。
ただし、これらのアプローチはロジックとプレゼンテーションを混同しており、通常はかなり貧弱なアーキテクチャです。1 つのビュー コントローラーが別のビュー コントローラーがそのビューを更新する必要があることを認識している場合、そのロジックの一部を特定のビュー コントローラーから独立した 3 番目のクラスに分解する必要があります。その 3 番目のクラスは通知を送信したり、View Controller が KVO を介して状態の変更をリッスンしたりできます。