-1

次のような状況があります。

クラスUIViewControllerに割り当てられた。UIViewControllerMyViewController

UIViewControllerは 1 つ持っていUITableViewます。ただし、dataSourceこれのUITableViewは ではなくMyViewController、 と呼ばれる別のクラスMyTableViewHandlerです。

MyTableViewでテーブル ビュー ( )のアウトレットを作成しましたMyViewController。つまり、クラスからテーブル ビューにアクセスできます。

ここで、 のテーブル ビューのデータ ソースを取得したいと考えています。MyViewControllerこれは のオブジェクトである必要がありますMyTableViewHandler

私がこれまでに試したこと:

MyTableViewHandler *myTableViewHandler = MyTableView.dataSource;

MyTableViewHandler *myTableViewHandler = (MyTableViewHandler *)MyTableView.dataSource;

デバッグは、参照がnil( 0x00000000) に設定されていることを示しています。

よろしくお願いします。

4

2 に答える 2

0

キャストは必要ありません。MyTableViewビューが読み込まれる前にアクセスしようとしている可能性があります。を呼び出し[self view]てビューをロードするか、このコードを のような場所に置くことができますviewDidLoad

于 2013-04-18T23:09:50.023 に答える
0

最初に MyTableViewHandler クラスのインスタンスを作成する必要があります (次のコードは MyViewController にあります -- viewDidLoad が適しています)。

MyTableViewHandler *myTableViewHandler = [[MyTableViewHandler alloc] init]; myTableView.datasource = myTableViewHandler;

于 2013-04-18T23:57:56.383 に答える