0

私は開発が初めてですIOS6。で問題が発生しましUITableViewた。以下の私のコードは、選択した行の最後にチェックマークを表示することです。しかし、「セレクターを宣言するための目に見える@interfaceがありません」のようなエラーを受け取りました。メソッドがありますが、tableView には表示できません。どうしてか分かりません。助けてください。UITableViewcellForRowAtIndexPath:UITableViewcellForRowAtIndexPath

以下はコードです:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];   -----error line
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
  }

問題は、"tableView" が UITableView 配下のすべてのメソッドを認識できないことです。「numberOfRowsInSection」など、それが知っているものもあります。理由がわかりません。

4

2 に答える 2

0

TableView 自体は、このセレクターを実装していません。このメソッドの完全なセレクターは次のとおりです。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

デリゲートのプロトコルからのものです。デリゲート (viewController など) は、このメソッドを実装する必要があります。テーブルからセル オブジェクトを取得することはお勧めできません (また、簡単に行うこともできません)。

代わりに、基になるデータを変更し、テーブルを再描画します

[tableView reloadData];
于 2013-06-04T10:28:39.107 に答える