2015-11-23 18 views
5

Mam numer TableViewController i chciałbym wyzwolić segue na pasku nawigacyjnym. Stworzyłem scenę w serii ujęć do mojego nowego ViewController. Jeśli jednak kliknę przycisk paska, widok się nie pojawi.ViewController nie wyświetla się mimo, że został uruchomiony procesor

Zamiast tego element przycisku paska staje się nieaktywny (szary), a aplikacja zawiesza się. Nie ma komunikatu o błędzie, a aplikacja również nie ulega awarii. Sposób w moim TableViewController także prepareForSegue pobiera nazywane

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

    print("prepare for segue called") 
    print("destination view controller = \(segue.destinationViewController.description)") 

} 

Zrobiłem następujące rzeczy:

  1. stworzył zwyczaj widok klasę kontrolera na drugim ekranie (w moim ujęć i jako plik .swift). Przypisałem odpowiednie ViewController w scenorysie do mojego kontrolera widoku niestandardowego w Inspektorze tożsamości
  2. utworzyłem IBAction dla zdarzenia kliknięcia przycisku i wywołałem programowo . Wynik pozostaje ten sam. prepareForSegue to nazwa. Wartość destionationViewController jest poprawna, ale nie jest wyświetlana. Usunąłem ten IBAction później.

Mój cel widok kontroler wygląda to

class EnterUserDataViewController : UIViewController { 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     print("EnterUserDataViewController viewDidLoad called") 
    } 

} 

viewDidLoad nigdy nie jest wywoływana chociaż prawo segue został wyzwolony.

Czy ktoś może dać mi wskazówkę, dlaczego tak się dzieje?

My outline. I'm trying to create a segue from the ExtraViewController to the EnterUserDataViewController

Segue

+0

Czy Twoje zrzuty ekranu pasują do rzeczywistego kodu? Mówisz, że ręcznie uruchamiasz segue przy użyciu gniazda akcji, ale na twoich ekranach widać, że przycisk paska kart bezpośrednio uruchamia segue. – tebs1200

+0

Nie Myślałem, że mogłem zrobić coś złego. Potem spróbowałem programowo uruchomić segue. Stworzyłem więc IBAction i nazwałem performSegueWithIdentifier. Jednak to nie pomogło. Usunąłem tę IBAction i użyłem normalnej "przeciągnij i upuść". Aby odpowiedzieć na twoje pytanie: Tak. – slashburn

+0

Wszelkie aktualizacje dotyczące tego problemu? Czy byłeś w stanie go rozwiązać? @slashburn –

Odpowiedz

0

Nie stałoby się mieć fałszywe przerwania ustawiony gdzieś byś?

Jeśli umieści się punkt przerwania w cyklu ładowania widoku, odtwarza dokładnie opisane objawy.

+1

Brak mojej listy punktów przerwania w XCode jest pusty. – slashburn

Powiązane problemy