У меня проблемы с отправкой данных в другое представление с использованием метода "prepareForSegue" ...
У меня есть табличное представление, заполненное результатами запроса sqlite. Когда я нажимаю на одну из ячеек таблицы, она направляет меня в другое представление, где у меня есть метка, которая сообщит мне идентификатор и имя
У меня есть строка NSString, которая содержит значение идентификатора из источника данных SQLite. Я хочу передать этот идентификатор во второе представление моего приложения, чтобы использовать его для получения информации из источника данных sqlite, основанного на этом идентификаторе.
Теперь я написал код, в котором он будет передавать информацию из одного представления в другое ... но по какой-то причине эта информация "не учитывается". Вот что я имею в виду, у меня есть список из 3 горных районов: Обман, Дальняя сторона и Mt. Вашингтон (указан в виде таблицы на первом взгляде). Когда я нажимаю на Mt. Вашингтон, перейдем ко второму представлению и метке, которую я настроил, чтобы сообщить мне имя выбранной ячейки ... пусто Я нажал кнопку назад на панели навигации и коснулся Mt. Снова Вашингтон, и на этот раз на этикетке отображается название «Гора Вашингтон». Теперь, когда я возвращаюсь и нажимаю «Дальняя сторона», на этикетке отображается «Гора Вашингтон». Когда я возвращаюсь и снова нажимаю «Дальняя сторона», метка меняется на «Дальняя сторона». Надеюсь, это имеет смысл.
Кто-нибудь знает, как решить проблему?
Вот код, который у меня есть:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([[segue identifier] isEqualToString:@"areaIDpush"]){
RockViewController *rockRoutes = [segue destinationViewController];
rockRoutes.rockID = areaID_fk;
rockRoutes.rockName = areaName_fk;
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
areaID_fk = cell.detailTextLabel.text;
areaName_fk = cell.textLabel.text;
}
- (void)viewWillAppear:(BOOL)animated {
[areaIDLabel setText:rockID];
[areaNameLabel setText:rockName];
[super viewWillAppear:animated];
}
Надеюсь, это поможет вам понять, где у меня проблемы ... любая помощь будет отличной. Спасибо!