#objective-c #iphone #xcode #cocoa-touch #delegates
#objective-c #iPhone #xcode #cocoa-touch #делегаты
Вопрос:
У меня есть контроллер представления, который содержит UITableView. Когда контроллер представления помещается в стек, вызываются методы делегирования представления таблицы, и он заполняет таблицу.
Затем я подключаю другой контроллер представления к тому, который содержит представление таблицы. Чего я хотел бы добиться, так это того, что при извлечении второго контроллера представления и возврате к предыдущему контроллеру представления эти методы делегирования uitableview вызываются снова (чтобы повторно заполнить таблицу).
Другими словами, как вы повторно заполняете uitableview при переходе к контроллеру представления.
Спасибо
Ответ №1:
В viewDidLoad
or viewDidUnload
, viewWillAppear
, viewWillDisappear
(в зависимости от того, что из них подходит для вашей ситуации) вы можете поместить [myTable reloadData];
:
// If you can include some code it would help as I am a bit uncertain
// about exactly what you are trying to do from the question but
// you should use whichever of these is correct for project:
- (void)viewDidLoad {
[super viewDidLoad];
[myTable reloadData];
}
- (void)viewDidUnload {
[myTable reloadData];
}
- (void)viewWillAppear {
[super viewWillAppear];
[myTable reloadData];
}
- (void)viewWillDisappear {
[super viewWillDisappear];
[myTable reloadData];
}
Ответ №2:
Что вам нужно сделать, так это добавить [self.tableView reloadData]
вызов (или любую другую переменную вашей таблицы) внутри viewWillAppear
метода его контроллера представления. Это приведет к перезагрузке представления таблицы как при нажатии (как это происходит сейчас), так и при извлечении других контроллеров представления для его отображения.