Frage

Man würde denken, ich kann leicht eine Antwort auf diese Frage finden, und vielleicht habe ich sie verpasst, aber hier geht es.

Meine App enthält einige Ansichten, von denen die Hauptansicht eine Reihe von Informationen zeigt, die sie durch die anderen Ansichten progressiv von einem Benutzer, dem Mikrofon und der Kamera sammelt. Es soll alles mit einem großen Klima "Senden -Taste" enden. Zu diesem Zeitpunkt werden die Daten sicher gespeichert (derzeit in einer SQL -Datenbank ... aber das ist eine andere Geschichte).

Sobald dies erledigt ist, möchte ich, dass der gesamte Prozess anfangen soll, was bedeutet, die Sicht auf einen jungfräulichen Zustand neu zu initialisieren. In Android kann ich eine neue Absicht werfen und den alten zerstören.

Ich sammle, ich soll mit dem App -Delegierten beginnen (siehe Code unten). Jetzt ist die Frage, wohin gehe ich von hier aus?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
    self.window.rootViewController = self.mainViewController;
    self.mainViewController.managedObjectContext = self.managedObjectContext;

    [self.window makeKeyAndVisible];
    return YES;
}
War es hilfreich?

Lösung 2

Also nach einem angemessenen Anteil des Ausgrabens und Versuchs und Irrtum. Ich habe etwas gefunden, das so funktioniert, wie ich es möchte.

Ich habe eine spezielle Funktion im App -Delegierten erstellt, das Folgendes ausführt:

- (void) newScreen
{
    self.mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
    self.window.rootViewController = self.mainViewController;
    self.mainViewController.managedObjectContext = self.managedObjectContext;
}

Dann nenne ich diese Funktion vom Hauptansichts -Controller

[(AppDelegate *)[[UIApplication sharedApplication] delegate] newScreen];

Einfach wie Kuchen ...

Andere Tipps

Ich würde den RootViewController als Startposition erstellen. Wenn der RootViewController lädt, habe ich meinen ersten Dateneingangsprozess initialisiert und hinzufügen. Auf diese Weise, wenn ich Survey drücke, rufe ich PopTorootViewController an, und wenn der RootViewContoller lädt, wird der erste Dateneingangsprozess initialisiert und geladen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top