просмотр таблицы выбранный индексный метод не работает (push)

#objective-c #ios #uitabbarcontroller #uitableview #selectedindex

#objective-c #iOS #uitabbarcontroller #uitableview #selectedindex

Вопрос:

на первой вкладке моего приложения на панели вкладок есть представление таблицы. Затем, когда я нажимаю на любую строку, я хочу нажать на представление SecondViewController. и есть метка. Текст метки должен быть текстом выделенной строки. Я пытаюсь это сделать, но не захожу во вторую вкладку: S Как я могу это сделать??? Также в классе SecondViewController есть 3 вида.

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

SecondViewController  *detailViewController = [[SecondViewController alloc] initWithNibName:@"SecondView" bundle:nil];
// ...
// Pass the selected object to the new view controller.
NSUInteger row2 = [indexPath row];
denemelik=row2;

[self.navigationController pushViewController:detailViewController animated:YES];
detailViewController.enyakinfirma.text= [ws2.CustomerName objectAtIndex:[indexPath row]]; 
NSLog(@"kontrol2 %@",ws2.CustomerName);

[detailViewController release];
 

}

Ответ №1:

Я предполагаю, что enyakinfirma это ваш UILabel , который вы хотите заполнить текстом. Вы не можете назначить текст метке до того, как метка будет фактически создана и загружена. И это произойдет позже, после того, как вы нажмете новый контроллер представления.

Таким образом, вам необходимо создать отдельный @property , чтобы отслеживать этот текст, который вам нужен:

 // SecondViewController.h
@interface SecondViewController {
    NSString *customerName;
}    
@property (nonatomic, retain) NSString *customerName;
@end
 

При создании контроллера представления вы назначаете это свойство:

 detailViewController.customerName = ...;
 

И в методе вашего контроллера представления viewDidLoad вы обновляете текст.

 -(void)viewDidLoad {
    // ...
    enyakinfirma.text = self.customerName;
}
 

Комментарии:

1. Значит ли это, что класс SecondViewController имеет еще 2 вида? Не нажимается secondView. : (

2. Я попробовал ваше решение, но оно все еще не work..Do у вас есть какие-нибудь идеи по этому поводу??