Swift, parametreleri geçmeden bir işlevi çağırabileceğiniz ve yine de çağrılacağı JavaScript gibi diller gibi değildir. Swift bir işlevi çağırmak için Yani, gerek için, parametrelerine bir değer atamanız .
Parametrelerin varsayılan değerleri, işlevi çağırırken belirtmeden bir değer atamanıza izin verir. Bu yüzdentest()
, testin bildiriminde varsayılan bir değer belirlediğinizde çalışır.
O varsayılan değeri dahil etmezseniz, size çağrı üzerine değer sağlamanız gerekir: test(nil)
.
Ayrıca, bu soruyla doğrudan ilgili değil, ancak muhtemelen not etmeye değer, Swift'deki olası sıfır opsiyonları ile başa çıkmak için muhtemelen boş işaretçilerle başa çıkmanın "C ++" yolunu kullanıyorsunuz. Aşağıdaki kod daha güvenlidir (özellikle çok iş parçacıklı yazılımda) ve isteğe bağlı olanın zorla açılmasını önlemenizi sağlar:
func test(firstThing: Int? = nil) {
if let firstThing = firstThing {
print(firstThing)
}
print("done")
}
test()
func test(firstThing: Int = 4)
olmayan bir yazabileceğinizi düşününOptional
.Optional
(Ne olduğu tip?
bir tür adı genişletir olarak) bir değer türüdür; "isteğe bağlı parametre", türüne bakılmaksızın bir işlev çağrısında bulunabilen veya bulunmayan bir parametre için talihsiz bir isimdir.