webBG - програмисти, машинно обучение, javascript, python, php, питам, говорим, публикации

подготвитеForSegue не стартира нов изглед

Разглеждах няколко турориала и всички извикват новия изглед само с един ред код или повече, ако предават някаква информация на следващия изглед. В момента искам да създам меню със сегмент като този:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {          
    NSIndexPath *path = [self.tableView indexPathForSelectedRow]; 
    if ([path row]==0) {
        MainViewController *mtvc = (MainViewController *)[segue destinationViewController];
    } else {
        SettingsViewController *svc = [segue destinationViewController];
    }       
}

Обикновено всички примери използват "segue.identifier isEqualToString:@"" ". Но не можах да свържа клетката на моя табличен изглед вътре в сценария с повече от един друг изглед. Затова използвах избрания ред, за да определя кой от моите изгледи трябва да продължи.

Не знам дали това може да е проблемът, но аз инициализирах табличния изглед от моя splashview по този начин:

-(void)turnNext {
    UIStoryboard *storyboard = self.storyboard;
    MenuTableViewController *mtvc = [storyboard instantiateViewControllerWithIdentifier:@"Menu"];
    [self presentViewController: mtvc animated:YES completion:nil];
}
13.05.2012

  • Не използвате UINavigationController? 14.05.2012
  • Избрах табличния изглед и вградих контролера за навигация. Има ли друг начин, когато преминете от менюто към другите изгледи? 14.05.2012
  • Защо използвате segues, а не pushViewController? просто съм любопитен :) 14.05.2012
  • Започнах за втори път, за да науча програмиране на iOS приложения за iphone и видях различните методи в урок на lynda. така че този път исках да създам моя проект с сценарий, за да науча тази функция. 14.05.2012

Отговори:


1
-(void)turnNext {
    UIStoryboard *storyboard = self.storyboard;
    MenuTableViewController *mtvc = [storyboard instantiateViewControllerWithIdentifier:@"Menu"];

    [self presentViewController: mtvc animated:YES completion:nil];
}
             ^^^^^^

променете това на

[self.navigationController pushViewController:mtvc animated:YES];
13.05.2012
  • това ще промени ли проблема ми за следващите стъпки? защото превключването към изгледа на таблицата просто работи с моя код... Мога да превключвам изгледа винаги програмно, но винаги чета, че не трябва да използвате този начин често, когато използвате сценария в проект 14.05.2012

  • 2

    Трябва да използвате segues за тази цел.

    • Създайте 2 персонализирани стъпки на вашия контролер на източника в сценария.
    • Задайте техния идентификатор като „segueToMainViewController“ и „segueToSettingsViewController“

    Сега, в tableView - методът 'didselectrowAtIndexPath' използва следното.

    //use your logic here
    
    if(indexPath.row == 1) {
       [self performSegueWithIdentifier:@"segueToMainViewController" sender:nil];
    }
    else {
       [self performSegueWithIdentifier:@"segueToSettingsViewController" sender:nil]
    }
    

    Можете да предавате данни като подател, ако трябва да изпратите нещо на вашите контролери.

    20.12.2016
    Нови материали

    Записване на грешки — Как да записвате грешки във вашето приложение, за да ги отстраните по-късно
    Записването на грешки е важна част от „обработването на грешки“. Накратко, когато възникнат определени грешки в програмите, вие искате да знаете за това. Това е особено важно при грешки. Ти..

    Кратко въведение в теорията на графите
    Кратко въведение в теорията на графите Втора част: внедряване на python на пълни графики В моята предишна статия въведох три основни концепции за графите: върхове, ръбове и тегла. В тази..

    Днес ще пиша за машинно обучение. Смятам се за ентусиаст, а не за експерт, така че имайте това предвид. С това казано, искам...
    Днес ще пиша за машинно обучение. Смятам се за ентусиаст, а не за експерт, така че имайте това предвид. С това казано искам да обясня защо машинното обучение има значение. За да бъда съвсем..

    Какво е структурно типизиране и как Typescript го използва в своя полза?
    Всички знаят тези дни, че „Typescript е строго синтактично надмножество на JavaScript и добавя незадължително статично въвеждане към езика.“. Но какво всъщност означава? Защо миграцията от..

    3 начина за премахване на дубликати от масив в Javascript
    Вие сте уеб разработчик? Програмист ли си? Тогава ще сте запознати с JavaScript и различните му вградени функции, методи и т.н. за различни реализации, проблеми и цели. Един от тези широко..

    Архитектура и обучение на конволюционни невронни мрежи (7 точки):
    Тази публикация предоставя подробности за архитектурата на Конволюционната невронна мрежа (CNN), функциите и обучението на всеки слой, завършвайки с резюме на обучението на CNN...

    Създайте разширение за Chrome с помощта на Angular
    Този урок е базиран на манифеста на разширението на chrome версия 3 (MV3), а също и на Angular версия 2+ (2, 3 и...). Ако не сте използвали манифест версия 3, можете да следвате този урок ,..