Wenn ich firstThingden Standardwert nileinstelle, funktioniert dies, ohne den Standardwert von. nilIch erhalte die Fehlermeldung, dass beim Aufrufen der Funktion ein Parameter fehlt.
Durch die Eingabe Int?dachte ich, es wäre optional mit einem Standardwert von nil, habe ich Recht? Und wenn ja, warum funktioniert es nicht ohne das = nil?
func test(firstThing: Int? = nil) {
if firstThing != nil {
print(firstThing!)
}
print("done")
}
test()
func test(firstThing: Int = 4): einen Nicht-OptionalParameter mit einem Standardwert. DerOptionalTyp (zu dem?ein Typname erweitert wird) ist ein Werttyp. "optionaler Parameter" ist ein unglücklicher Name für einen Parameter, der bei einem Funktionsaufruf unabhängig von seinem Typ vorhanden sein kann oder nicht.