У меня проблема с моим приложением.Segue выполняется перед выбором ячейки
У меня есть 3 Контроллеры наблюдения, назовем их Oil
, App
и Prop
. Эти 3 контроллера просмотра встроены в навигационные контроллеры. И в этих контроллерах просмотра я получил 3 вида таблицы.
Так от до вниз и слева направо:
Prop View Controller
->Prop Detail View Controller
Oil View Controller
->Oil Detail View Controller
->Web View Controller
App View Controller
->App Detail View Controller
Итак, посередине (Oil
) Все работает нормально, я нажимаю на ячейку, и отображается Oil Detail View Controller
, с информацией, которую я прошел через мой Segue.
OilViewController.m:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *sectionTitle = [aromaSectionTitles objectAtIndex:indexPath.section];
NSArray *sectionAroma = [tableData objectForKey:sectionTitle];
aromaNom = [sectionAroma objectAtIndex:indexPath.row];
[self performSegueWithIdentifier:@"Detail" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"Detail"]) {
OilDetailViewController *test = segue.destinationViewController;
test.aromaName = aromaNom;
test.botaniqueName.text = botaniqueName;
}
}
И я также выполняет SEGUE между Oil Detail View Controller
и Web View Controller
так:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"webView"]) {
NSLog(@"Segue is catched");
WebViewViewController *webView = segue.destinationViewController;
webView.aromaUrl = _aromaName;
}
}
I нажмите на оранжевую кнопку и отображает WebView.
Но теперь, если я делаю ТОЧНУЮ вещь в Prop
или App
, она не работает должным образом.
Например, в Prop Detail VC
У меня есть ярлык, который отображает выбранное свойство, но он отображает мне контроллер View с меткой, содержащей старое выбранное свойство, прежде чем отобразить мне правильное свойство, выбранное в метке. Итак, у меня есть 2 Prop Detail View
отображается и встроен в мой контроллер навигации.
я сделал видео о тренажере: http://videobam.com/VwgLx
Код в PropViewController.m
:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *sectionTitle = [aromaPropSectionTitles objectAtIndex:indexPath.section];
NSArray *sectionProp = [propData objectForKey:sectionTitle];
propName = [sectionProp objectAtIndex:indexPath.row];
NSLog(@"prop name = %@", propName);
[self performSegueWithIdentifier:@"PropDetail" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"PropDetail"]) {
PropDetailViewController *propView = segue.destinationViewController;
propView.propStr = propName;
NSLog(@"PREPARE FOR SEGUE PROP VIEW CONTROLLER");
}
}
И в PropDetailViewController.m
:
- (void)viewDidLoad {
[super viewDidLoad];
self.propLabel.text = _propStr;
NSLog(@"VIEW DID LOAD PROP DETAIL");
// Do any additional setup after loading the view.
}
Наконец бревнами:
Заранее спасибо за вашу помощь, я застрял с этим, и никто в моей команде не знает Иос .. Так что я один с этим!
О, мужчина! Ваша раскадровка - это сеть :) Можете ли вы сделать простую компоновку (рядом). Я едва вижу реальный поток. – Kampai
Забудьте о сети слева, это просто ссылка между 3-мя кнопками и соответствующими представлениями. Не так важно, важные ссылки видны –