2012-04-09 13 views
0

(iPhone Entwicklung Xcode 4.3)Xcode-Weitergabe von Daten

Ich habe ein Textfeld auf einem View-Controller und einen NSString auf einem anderen Controller. Was ich versuche ist, dem Benutzer zu erlauben, eine URL in das Textfeld einzugeben und diese als den Pfad in meinem anderen Controller weiterzuleiten.

Dies ist die NSString ich bin derzeit mit:

NSString * path = @"http://www.test.com"; 

so im so etwas wie zu tun suchen:

NSString * path = INPUT FROM USER; 

Hoffnung jemand mich in die richtige Richtung zeigen kann.

Antwort

1

Verwendung

NSString *path = textField.text; 

dass für IBOutlate für die Textfield erstellen

0
NSString *urlString = [NSURL URLWithString:textfield.text]; 
+0

Ich bin etwas verwirrt. Also im Grunde, wenn ich ein IBOUTLET für das Textfeld auf meinem TextBoxViewController setze, so: @property (schwach, nichtatomisch) IBOutlet UITextField * urltext. Wie definiere ich diese Textfelder auf einem anderen Controller? – Doop

+0

Verwenden Sie die .h-Methode, um die ur-Zeichenfolge an eine andere Seite zu übergeben. Auf der nächsten Seite wie @property (schwach, nichtatomisch) IBOutlet UITextField * urltext1; .in .m-Methode wie @synthesize urltext1; - (void) viewDidLoad {NSLog (@ "% @", deinText); Lesen Sie zum Beispiel: http://StackOverflow.com/a/9867328/932011 – akk

0

Grundsätzlich gibt es zwei Dinge benötigt:

  1. die Zeichenfolge Benutzer Get

Wie Sie wissen bereits, alles, was Sie tun müssen, ist, Ihr IBOutlet auf Ihrem Textfeld zu setzen und die Zeichenfolge zu lesen.

  1. Pass es zu einer anderen Ansicht Controller

Sie haben zwei Möglichkeiten, es zu tun:

Erstens können Sie einen String in Ihren zweiten View-Controller hinzufügen und Eigenschaft festgelegt. Erstellen Sie dann ein benutzerdefiniertes -init, um die URL-Zeichenfolge zu empfangen. Wenn Sie in Ihrem ersten View-Controller den zweiten View-Controller erstellen (ich nehme an, das ist der Fall), verwenden Sie Ihren benutzerdefinierten -init, um den Wert festzulegen.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andURL:(NSString *) url 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
    // Custom initialization 

    self.urlString = url; 

    } 
    return self; 
} 

Sie haben eine andere Option: Erstellen Sie eine Methode auf dem zweiten View-Controller.

so in der zweiten View-Controller, dies zu tun:

-(void) setURL: (NSString *) url 
{ 
    self.rulString = url; 
} 

und in Ihren ersten View-Controller, tun:

SecondViewController *secondVC = [SecondViewController alloc] init]; 

// get url string from user input and store it in a local string variable named tempURL 
[secondVC setURL:tempURL]; 

Hoffnung, das hilft.