Wie gebe ich 3 separate Datenwerte des gleichen Typs (Int) von einer Funktion in Swift zurück?
Ich versuche, die Tageszeit zurückzugeben. Ich muss Stunde, Minute und Sekunde als separate Ganzzahlen zurückgeben, aber alles auf einmal von derselben Funktion aus. Ist dies möglich?
Ich glaube, ich verstehe die Syntax für die Rückgabe mehrerer Werte einfach nicht. Dies ist der Code, den ich verwende. Ich habe Probleme mit der letzten (Rückgabe-) Zeile.
Jede Hilfe wäre sehr dankbar!
func getTime() -> Int
{
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .CalendarUnitSecond, fromDate: date)
let hour = components.hour
let minute = components.minute
let second = components.second
let times:String = ("\(hour):\(minute):\(second)")
return hour, minute, second
}
Antworten:
Geben Sie ein Tupel zurück:
Dann wird es aufgerufen als:
oder:
quelle
Ebenfalls:
Dann wird es aufgerufen als:
Dies ist die Standardmethode für die Verwendung in dem von Apple verfassten Buch The Swift Programming Language.
oder einfach wie:
es ist das gleiche, aber weniger klar.
quelle
the right answer can't compile right in swift 2.0
: falsch, die Rückgabe eines unbenannten Tupels in Swift 2 funktioniert genauso wie in Swift 1. Siehe diesen Screenshot .time.hour
wird nicht mehr funktionieren. Bitte aktualisieren Sie den Code.Sie sollten drei verschiedene Werte von dieser Methode zurückgeben und diese drei in einer einzigen Variablen wie dieser erhalten.
Holen Sie sich den Wert in einer einzelnen Variablen
Jetzt können Sie auf die Stunden, Minuten und Sekunden einfach mit "." zugreifen. dh.
quelle
Swift 3
Benutzen :
quelle
Aktualisieren Sie Swift 4.1
Hier erstellen wir eine Struktur, um die Tupelverwendung zu implementieren und die OTP-Textlänge zu validieren. Das muss für dieses Beispiel aus 2 Feldern bestehen.
Verwendung:
Ich hoffe es hilft!
Vielen Dank
quelle
quelle