Ist es möglich, einen variablen Parameter in Swift optional zu haben? Ich habe versucht, die beiden Wege, die Sinn und weder der Kompilierung gemacht:Wie kann ich in Swift einen Variadic-Parameter (Ellipse) angeben?
func myFunc(queryFormat: String?...) {
}
oder
func myFunc(queryFormat: String...?) {
}
Hinweis: Die erste Implementierung kompiliert technisch aber wenn Sie versuchen, es auszupacken:
if let queryFormatUnwrapped = queryFormat {
...
}
Sie Erhalte einen Fehler Bound value in a conditional binding must be of Optional Type
, der mir anzeigt, dass er es als ein Array von optionalen Strings behandelt, nicht als optionales Array von Strings (was irgendwie albern ist).
Würden Sie einfach überprüfen, ob das Array leer war? – Tobias
@ABakerSmith Wenn ich versuche, 'queryFormat' auszupacken, wird ein Fehler ausgegeben, der darauf hinweist, dass es sich um ein Array von optionalen Strings handelt, nicht um ein optionales Array von Strings. – Shizam
Wie von @Tobias vorgeschlagen, gibt es keine Möglichkeit, das Parameterpaket _entire optional zu machen. Was würde das bedeuten? Der Benutzer kann null oder mehr Argumente liefern, die in einem Array ankommen. Wie/warum sollte dieses Array optional sein? Auf der anderen Seite können die Parameter _themels__ optional sein. –