2010-02-22 2 views
0

У меня есть UITableView с несколькими входами, и они разделены на несколько разделов. Если я нажимаю на одну из ячеек, открывается AccessViewController. В этом DetailViewController я хочу использовать данные из выбранной ячейки (cell.textLabel и cell.detailTextLabel), но я не могу получить к ним доступ. Есть ли возможность решить проблему, чтобы я мог получить доступ к textLabels из выбранных ячеек с помощью DetailViewController?Как получить cell.textLabel.text из выбранной ячейки в DetailViewController?

ответ

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]; 
} 
+0

Спасибо, это сработало! – iYassin

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 
} 

Вместо того, чтобы ребенок читал его родителя, он намного чище, чтобы родитель предоставил информацию непосредственно своему ребенку.

Смежные вопросы