いくつかのエントリを持つUITableViewがあり、これらはいくつかのセクションに分かれています。セルの1つをクリックすると、DetailViewControllerにアクセスします。そのDetailViewControllerで、選択したセル(cell.textLabelおよびcell.detailTextLabel)のデータを使用したいのですが、これらにアクセスできません。DetailViewControllerを使用して、選択したセルからtextLabelsにアクセスできるように、問題を解決する可能性はありますか?
2762 次
2 に答える
2
1つの方法は、2つのテキスト値のプロパティをDetailViewControllerに追加することです。次に、didSelectRowAtIndexPathで、次のようにします。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
//create your DetailViewController here
UIViewController *detailViewController = ...
//set the properties...
detailViewController.cellText = cell.textLabel.text;
detailViewController.cellDetailText = cell.detailTextLabel.text;
//push the detailViewController here
[detailViewController release];
}
于 2010-02-22T16:52:23.907 に答える
0
DetailViewController
をセルの内容で初期化します。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
DetailViewController *detailViewController = [[[DetailViewController alloc] initWithText:cell.textLabel.text] autorelease];
// push
}
子が親から読み取る代わりに、親が子に直接情報を提供する方がはるかにクリーンです。
于 2010-02-22T17:01:40.623 に答える