2017-11-06 1 views
1

Ich habe eine einfache App, die 3 Textfelder, eine Beschriftung und eine Schaltfläche hat. Der Benutzer würde Text in die 3 Textfelder eingeben und dann die Taste drücken. Der Text aus einem der Textfelder wird zufällig ausgewählt und als Text auf ein Label angewendet.Hinzufügen von UITextFields Eingabe in ein Array

Ich habe versucht, so etwas wie

let textArray : String [text1, text2, text3] 

Für das Array aber dies scheint nicht zu funktionieren. Kann mich jemand in die richtige Richtung schubsen?

+0

Teilen Sie Ihren vollständigen Code und was genau wollen Sie? – Krunal

+0

setze tag für textfelder und benutze das wörterbuch mit textfield tag als schlüssel und text als wert – Venkat

+0

@Zakth was ich denke, du willst tun ist: - nach dem drücken der taste speichern alle 3 text archiviert werte in array vom typ string. Wählen Sie dann zufällig einen Wert aus einem beliebigen Index und zeigen Sie ihn auf dem Etikett an. –

Antwort

0

Sie können ein Array nehmen und Textfeld Text in diesem Array hinzufügen.

var textFieldArray: [String] { 
    return [textfield1.text!, textfield2.text!, textfield3.text!] 
} 

Dann eine Zufallszahl mit dem Code erzeugen unter:

func RandomInt(min: Int, max: Int) -> Int { 
    if max < min { return min } 
    return Int(arc4random_uniform(UInt32((max - min) + 1))) + min 
} 

nun den Zufallstext unter Verwendung des Indexpfads des Arrays erhalten.

let randomNumber = RandomInt(min: 1, max: 3) 
let randomText = textFieldArray[randomNumber] 
labelName.text = randomText 
+0

Das hat genau das getan, was ich wollte. Vielen Dank, dass Sie mich in die richtige Richtung weisen. Ich verstehe jetzt, dass wenn ich mehrfachen Text in einer Variable verwende, ich eine if-Anweisung verwenden muss, die mit einer Konstante mit einer Rückkehr kombiniert wird. – Zakth

0

Nicht sicher, ob ich verstehe. Wahrscheinlich möchten Sie dies:

var textArray: [String] { 
    return [textfield1.text, textfield2.text, textfield3.text] 
} 
Verwandte Themen