Ich habe eine Funktion: myFunction (param1: Klasse ?, param2: Klasse ?, param3: Int, ...) wobei die 2 ersten Parameter optional sind und der Typ von ihnen ist a benutzerdefinierte Klasse. Aber manchmal, die Klasse, die ich in diese Parameter einfügen muss, existiert nicht, deshalb sind diese Parameter optional. Und ich kann nicht "Null" als Wert angeben.wenn Bedingung in Swift-Funktion für optionalen Parameter
So würde Ich mag so etwas tun:
if (param1 !=nil && param2 != nil) {
myFunction(param1: myClass, param2: myClass, param3: 2, ...)
}
else if (param1 ==nil && param2 == nil) {
myFunction(param3: 2, ...)
}
else if (param1 !=nil && param2 == nil) {
myFunction(param1: myClass, param3: 2, ...)
}
else if (param1 ==nil && param2 != nil) {
myFunction(param2: myClass, param3: Int, ...)
}
...
Das Problem ist, dass in meiner Funktion ich mehr optionale Parameter so, wenn ich ein „haben müssen, wenn "Bedingung für alle Optionen, es wird unmöglich sein, zu verwalten.
Gibt es eine Möglichkeit, eine if-Bedingung in die Funktionsparameter zu setzen? Beispiel:
myFunction(myClass==nil ? <nothing>:param1: myClass, myClass==nil ? <nothing>:param2: myClass, param3: 2, ...)
Vielen Dank für Ihre Hilfe :)
Grüße,
'Aber manchmal, die Klasse, die ich in diese Parameter einfügen muss, existiert nicht, deshalb sind diese Parameter optional.' Wie können Sie eine Klasse haben, die nicht als eine Art von Parameter existiert? – Alexander
Auch ich bin neugierig, was Sie denken, nil bedeutet, wenn nicht '' –
Alexander
sollten Sie über Klassen, Typen, Instanzen, etc. klar werden, was passieren Sie wo unter welchen Umständen? Wollen Sie den * type * 'Int' wirklich beim letzten Funktionsaufruf übergeben? – luk2302