Handbuch modal segue nicht funktioniert, View-Controller ist nicht in der Fenster-Hierarchie?

Ich habe lange gesucht im web und Stack Overflow für Stunden und ich kann nicht dieses Problem beheben. hier hofft man alle sehen, mein Fehler, da ich einfach nicht finden kann.

Habe ich eine einfache storyboard-basierten Anwendung, die ich gerade begonnen. Der Initiale ViewController ist eine Instanz von UITabBarController mit den beiden dummy-ViewControllers aus der Vorlage. Beim starten ich brauche, um zu überprüfen, ob das Gerät angemeldet ist, einen externen Dienst. Wenn nicht werde ich anzeigen eines modalen ViewController, der Benutzer zum authentifizieren, wenn das Gerät authentifiziert ist, dann will ich einfach nur zeigen, die FirstViewController.

Folgende Schritte sind alles, was ich getan haben da Sie das Projekt erstellen:

  1. Erstellen der AuthenticateViewController-Szene auf dem Storyboard
  2. Erstellen von code-Dateien für AuthenticateViewController, und ordnen Sie der entsprechenden Szene
  3. Erstellen von code-Dateien für einen UITabBarController Unterklasse, und ordnen Sie die ersten UITabBarController-Szene, die neue Unterklasse
  4. Erstellen Sie einen neuen übergang auf dem storyboard aus der UITabBarController-Szene auf dem AuthenticateViewController Szene
  5. Manuell aufrufen der Wechsel von viewDidLoad im UITabBarController Unterklasse

Wenn ich mit der Anwendung der modal-segue nicht Feuer, die ersten ViewController des UITabBarController ist gezeigt, und ich bekomme die folgende Ausgabe in XCode:

Warning: Attempt to present <AuthenticateViewController: 0x83c0c10> on <EPTabBarController: 0x83be600> whose view is not in the window hierarchy!

Entsprechenden code unten, in der Tat ist der einzige code den ich eingegeben habe, so weit. Bitte lassen Sie mich wissen, wenn screenshots oder weitere Informationen würden nützlich sein. Vielen Dank im Voraus für Eure Hilfe.

EPTabBarController, Unterklasse von UITabBarController:

#import "EPTabBarController.h"
#import "AuthenticateViewController.h"

@interface EPTabBarController ()

@end

@implementation EPTabBarController

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self performSegueWithIdentifier:@"authenticationSegue" sender:self];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    //Dispose of any resources that can be recreated.
}

@end
InformationsquelleAutor blundin | 2013-03-25
Schreibe einen Kommentar