#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 у вас есть какие-нибудь идеи по этому поводу??