Мне нужна небольшая помощь.В моем проекте есть панель вкладок.На одном из элементов панели вкладок находится контроллер навигации, на представлении - табличное представление.
Для TableViewController есть обычные коды:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [myData count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// here the DetailViewController is activated
}
Конструкция DetailViewController имеет видпохож на TableViewController.Данные, относящиеся к выбранной строке TableView, будут ключевыми данными для запроса SQL, результат которого затем сохраняется в массиве.Единственное отличие состоит в том, что я использую это:
viewWillAppear: включает и SQL-запрос, затем загружает результат в массив sqlQueryResult.
- (void)viewWillDisappear:(BOOL)animated {
while( [sqlQueryResult count] >0 )
[sqlQueryResult removeObjectAtIndex:0];
}
Это работает в самый первый раз, когда таблица DetailViewПоказано.Однако, если мы вернемся к TableView и выберем другую строку, появится DetailView, но следующие элементы не будут выполняться снова (как они уже сделали): numberOfSectionsInTableView: или, tableView: (UITableView *) tableView numberOfRowsInSection:.Я прочитал в документах, что есть методы, которые вызываются только один раз - однако я не видел такого замечания для них.
Как я могу "сбросить" TableView?Или какие методы я должен вызвать, чтобы установить количество его строк / разделов?