0

name複数のインスタンス変数 ( 、addressnumberなど)を持つオブジェクトの配列があります。また、これらの各オブジェクトの変数UITableViewControllerがテーブル ビューに取り込まれているもあります。name

DetailViewControllerオブジェクトの指定されたセルが で選択されたときに、これらのオブジェクトが保持する残りの情報を表示するも作成しましたtableView:didSelectRowAtIndexPath:。問題は、これらのセルがセルのオブジェクトのname変数への参照しか持たないことです。

この問題を解決するにはどうすればよいですか? オブジェクト全体への参照を各セルに与えることができるように、セルをサブクラス化する必要がありますか? またはもっと簡単な方法はありますか?

これは私の現在のtableView:cellForRowAtIndexPath:方法です:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    if(!cell){
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
    }
    cell.textLabel.text = [[listings objectAtIndex:indexPath.row] objectForKey:@"listingName"];
    return cell;
}

indexPath更新:行番号を取得し、配列から指定されたオブジェクトを取得できることがわかりました。これはより実行可能でしょうか?

4

2 に答える 2

4

tableView:didSelectRowAtIndexPath:を使用して、選択したオブジェクトを取得し、それ[listings objectAtIndex:indexPath.row]を詳細ビュー コントローラーに渡すことができます。

(テーブル ビューのセルをデータ ソースとして使用しないでください。)

于 2013-08-02T20:23:44.257 に答える
2

配列の位置から直接リストを表示しているため、行を押したら同じ方法でリストを再び表示します。

問題のオブジェクトを取得しtableView:didSelectRowAtIndexPath:て、[listings objectAtIndex:indexPath.row]DetailViewController

于 2013-08-02T20:24:26.243 に答える