Holen Sie sich ViewController aus dem Storyboard
Habe ich zwei ViewControllers, die nicht (direkt) verbunden mit einem Segue. Aber ich möchte das ändern einer Zeichenkette in die zweite VC, die ich in den ersten ein. Mein Versuch war:
#import "secondViewController.h"
@interface firstViewController ()
@property NSString* originalString;
@end
@implementation firstViewController
-(void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
secondViewController* svc = [secondViewController new];
svc.anotherString = self.originalString;
}
Aber es dosent Arbeit, da habe ich nur erstellt eine Instanz des zweiten VC, also der Wert wurde nicht gespeichert. Auch kann ich nicht verwenden Sie die Storyboard ID, da ich mit Xcode 5.
Ich habe eine menuVC aus, die Sie bekommen können, um die firstVC und die secondVC. Und von der firstVC ich kann wieder gehen (mit den navigationbackbarbutton), um das Menü. also: Menü->firstVC->Menü. Menü->secondVC->...->Menü
Meinen versuchen mit StoryboardID:
-(void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
secondViewController* svc =[[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"secondVCSrorybradID"];
svc.anotherString = self.originalString;
}
Wie kommst du von der ersten auf die zweite VC ?
? warum Sie nicht verwenden können, storyboard-id ???
Sind Sie Fragen, warum originalString nicht mehr aktualisiert, wenn Sie ändern svc.anotherString?
Ja, das ist meine Frage iani
Verwenden Sie nicht
? warum Sie nicht verwenden können, storyboard-id ???
Sind Sie Fragen, warum originalString nicht mehr aktualisiert, wenn Sie ändern svc.anotherString?
Ja, das ist meine Frage iani
Verwenden Sie nicht
[UIStoryboard storyboardWithName:]
. Da dies in einem view-Controllers können Sie den view-controller der storyboard-Eigenschaft: [self.storyboard instantiateViewControllerWithIdentifier: @"secondVCSrorybradID"]
. Und ist das storyboard ID wirklich secondVCSrorybradID
? Zwei Rechtschreibfehler in einem einzigen ID? Es muss eine genaue übereinstimmung sein, Buchstaben um Buchstaben, und die richtige groß - /Kleinschreibung, oder es wird scheitern, um das laden der view-controller.InformationsquelleAutor Sam | 2014-03-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die Weitergabe Ihrer Daten sukzessive durch Ihre
UIViewController
s navigation. Wenn, zum Beispiel, Sie haben eine navigation wieFirstVC > SecondVC > ThirdVC
:In Ihrem FirstVC.m, Nutzung :
Mit
secondVCString
ein@property
in Ihrem zweiten ViewController.In Ihrem SecondVC.m, Nutzung :
Natürlich mit
thirdVCString
ein@property
in Ihrem Dritten ViewController.Edit:
Als Sie aktualisiert Ihre Frage, hier ist was ich Vorschlage :
In Ihrem MenuVC, fügen Sie diese :
In Ihrem FirstVC und SecondVC, fügen Sie diese :
Wenn Sie push-to-FirstVC oder SecondVC, verwenden Sie
prepareForSegue
um die Ziel-view-controllermenu
Eigenschaft zu Ihrem Menü :In FirstVC oder SecondVC, können Sie die
NSString
Wert aus dem Menü mit_menu.importantString = @"";
Bearbeiten können Sie Ihre Frage mit Ihrer app-Struktur ? So etwas wie FirstVC -- SecondVC -- etc.
Ich aktualisiert meine Antwort
JA, es funktioniert!! danke 😀 Nicht genau wie Sie aber es war Ihre zentrale Idee, mit der menuVC Dank soooooooooo viel!! §> U
InformationsquelleAutor rdurand
übergeben Sie den string auf den zweiten Blick-controller mit diesem code.
//erstellen Sie anotherString Eigenschaft in der zweiten View-Controller .h-Datei.
nun können Sie die Zeichenfolge der originalString zum zweiten VC. Jetzt können Sie diesen Wert wieder zweiten VC zum ersten VC.
hoffe, dies hilft Ihnen.
InformationsquelleAutor
Verwenden Sie niemals
new
erstellen Sie einen view-controller.Wenn Sie mit storyboards, aber nicht verwenden, leitet über, können Sie immer noch eine view-controller aus dem storyboard und es aufrufen.
Verwenden Sie die Methode
instantiateViewControllerWithIdentifier:
erstellen Sie eine Instanz der Ziel-view-controller. Die Menge der Eigenschaften, die Sie festlegen möchten, und schließlich machen Sie einen Anruf, um Sie anzuzeigen (präsentieren Modal, schieben Sie es auf die navigation stack, oder was auch immer angemessen ist, für Ihr Programm).Nicht verwenden können, eine storyboard ID meinst du? Warum? Sie sagte: "weil ich mit Xcode 5", was keinen Sinn macht.
aber ich habe nicht jeden storryboard-ID, wirklich... ich habe nur Titel
Ok, aber man kann (und sollte) weisen eine storyboard ID für jede Szene in Ihrem s storyboard. Unterstützt wird dies von Xcode 4.0 auf die aktuelle version 5.0.2
Dude, die Sie benötigen, zu schreiben, Sätze, die andere Menschen verstehen können, wenn Sie wirklich wollen, zu helfen. "Es würde nicht errettet werden," ist nicht ein Satz.
InformationsquelleAutor Duncan C