У меня проблема с моим приложением. Я использую навигационный контроллер и TableView. Итак, в моем первом представлении у меня есть TableView с именем propTableView
, это список свойств. Когда я нажимаю на ячейку, она приводит меня к другому ViewController с другим TableView с именем propDetailTableView
. Я выполнить переход от PropViewController
к PropDetailViewController
:Просмотр появляется дважды при выполнении segue
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *sectionTitle = [aromaPropSectionTitles objectAtIndex:indexPath.section];
NSArray *sectionProp = [propData objectForKey:sectionTitle];
propName = [sectionProp objectAtIndex:indexPath.row];
[self performSegueWithIdentifier:@"PropDetail" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"PropDetail"]) {
PropViewController *propView = segue.destinationViewController;
propView.title = propName;
SQLmanager *sqlManager = [[SQLmanager alloc] initDatabase:@"prop_max.sqlite3"];
NSString *propRequest = [NSString stringWithFormat:@"SELECT id_prop FROM prop_max WHERE prop_name_fr LIKE '%@'", propName];
NSLog(@"propRequest = %@", propRequest);
NSString *propId = [sqlManager getString:propRequest];
NSLog(@"propId = %@", propId);
}
}
На данный момент я просто изменить название панели навигации. Но поведение ненормальное. Вместо того, чтобы отображать PropDetailViewController
с новым заголовком, он отображает новый PropDetailViewController с заголовком прецедента (если в первый раз я нажимаю на ячейку, он не отображает заголовок), а затем отображает PropDetailViewController
с заголовком. Это не проблема, но когда я нажимаю на Back
в левом верхнем углу, он возвращает меня к PropDetailViewController
со старым названием, и я должен нажать второй раз на Back
, чтобы вернуться к PropViewController
.
я нажимаю на ячейки (я нажал на Anti-Douleur, но теперь я выбираю Actif-Cosémtique):
Он показывает это:
Тогда второй после:
Это не работает. –
нет причин, по которым он не должен работать (1) вам нужно добавить новое свойство в свой класс PropDetailViewController, который будет (сильной) строкой. назовите его «shouldBeTitle», например. установите это в prepareForSegue. затем в viewDidAppear, запишите его и посмотрите, правильно ли это. если так задано название! заметьте try viewdidappear, а также viewdidload. зависит от того, что вы делаете. – Fattie
Да, я сделал это, но есть еще 1 вид, появляющийся перед правильным представлением. –