2011-10-30 6 views
0

これは恐らく疑わしい質問ですが、私はちょうど学びています。私はコード内のUITableViewを作成する方法を持っている場合は、ボタンがのUITableViewデリゲートとデータソースの方法では、このUITableViewへの参照を保持する場合

UITableViewcontroller *contentView = [[UITableViewController alloc] initWithSytyle:UITableViewStylePlain]; 
contentView.tableView.delegate = self; 
contentView.tableView.datasource = self; 
[contentView release]; 

のように押された時、それはこののtableViewまたは別のテーブルビューであれば、どのように私がチェックしますか?これらのデリゲートとデータソースメソッドのために常にこのテーブルビューを指すインスタンス変数を持つ必要がありますか?ありがとう。

+1

あなたはそのViewControllerにいくつのテーブルビューを持っていますか?通常、テーブルビューは1つしかありません。 –

答えて

0

タグプロパティを使用できます。あなたのコード

UITableViewcontroller *contentView = [[UITableViewController alloc] initWithSytyle:UITableViewStylePlain]; 
contentView.tag == 10;//add this line in your code 
contentView.tableView.delegate = self; 
contentView.tableView.datasource = self; 
[contentView release]; 

では、あなたのデリゲートメソッドまたはデータソースに方法が一般的に

if(view.tag == 10) 
{ 
//do stuff 
} 
0

を確認するには、テーブルビューではなく、テーブルビューの親でのデータソースとデリゲートメソッドを置くところ。こうすることで、各テーブルビューのロジックを独自のビューコントローラに分けることができます。しかし、それらをすべて1つのクラスに入れなければならない場合は、テーブルビューのtagプロパティを使用して、どちらがどちらであるかを追跡できます。

関連する問題