2014-02-06 7 views
0

У меня есть HomeTableViewController, который состоит из двух разделов. Когда вы нажимаете на ЛЮБУЮ ячейку, она направляет пользователя в DetailsViewController. В DetailsViewController есть 2 ярлыка. Один в номере ячейки, другой - срок. Для того, чтобы направить свою ячейку данные моего просмотра контроллер У меня есть следующий код: Это в моем HistoryTableViewController.mКак отображать данные из TableView на DetailsView

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // HistoryDetailsViewController *HDV = [self.storyboard instantiateViewControllerWithIdentifier:@"HistoryDetails"]; 
    // [self.navigationController pushViewController:HDV animated:YES]; 
    NSLog(@"index path section--%i",[indexPath section]); 
    [self performSegueWithIdentifier:@"Push" sender:indexPath]; 
} 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 

    if ([[segue identifier] isEqualToString:@"Push"]) { 
     HistoryDetailsViewController *detailVC=(HistoryDetailsViewController*)segue.destinationViewController; 
    } 
} 

Теперь, когда я могу получить доступ к своему DetailsViewController, я хочу, чтобы контролировать свои метки. Я хочу иметь возможность изменять этикетки В СООТВЕТСТВИИ С СЕКЦИЕЙ КЛЕТОК, СЧИТАЮЩУЮ ПОМОЩЬ.

Однако, когда я пытаюсь что-то вроде

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 

    if ([[segue identifier] isEqualToString:@"Push"]) { 
     HistoryDetailsViewController *detailVC=(HistoryDetailsViewController*)segue.destinationViewController; 

     detailVC.labelCellNum.text = @"Cell test"; 
     detailVC.labelDueDate.text = @"Date Test"; 
    } 
} 

Я даже не могу изменить текст лейбла, используя этот код. Я не понимаю.

Вся помощь приветствуется, спасибо заранее.

+0

Есть много сообщений об этом - вы не можете этого сделать, потому что представление detailVC еще не загружено в то время, когда вы пытаетесь установить текст, поэтому detailVC.labelCellNum и detailVC.labelDueDate будет нулевым. – rdelmar

ответ

0

Как я сделал бы это было бы иметь свойство для каждой строки, которую вы хотите использовать в детальном: (объявлена ​​в .h)

@property (nonatomic, strong) NSString *stringOne; 

Тогда в prepareForSegue, я бы присвоить определенное значение для него:

[detailVC setStringOne:@"Some string"]; 

И в методе viewDidLoad в деталях ВК, я бы установить эту строку где-то я хочу, чтобы использовать его:

[self.labelCellNum setText:self.stringOne]; 
+0

Интересно, собираюсь попробовать прямо сейчас – doc92606

+0

Да, это работает. Теперь мне просто нужен способ получить текст моей ячейки и отобразить THAT в моем контроллере представления данных. За исключением моего метода подготовки к настройке, я не могу установить текст в cell.textlabel.text – doc92606

+0

Как я могу получить значение my cell.textlabel.text в моем методе метода подготовкиForSegue? – doc92606

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