Swift fonksiyonları yerel ve dış argüman adları belirtebilirsiniz:
func greet(who name: String = "world") {
println("hello \(name)")
}
// prints "hello world"
greet()
// prints "hello jiaaro"
greet(who:"jiaaro")
// error
greet("jiaaro")
// error
greet(name: "jiaaro")
Bu davranışa devre dışı bırakmak amacıyla harici adı için bir alt çizgi kullanabilirsiniz.
func greet(#name: String = "world", hello: String = "hello") {
println("\(hello) \(name)")
}
// prints "hi jiaaro"
greet(name: "jiaaro", hello: "hi")
:
func greet(name: String = "world", _ hello: String = "hello") {
println("\(hello) \(name)")
}
// prints "hello world"
greet()
// prints "hello jiaaro"
greet("jiaaro")
// prints "hi jiaaro"
greet("jiaaro", "hi")
// error
greet(name: "jiaaro")
The following is now disallowed in Swift 2.0, see below for equivalent code.
İlk parametre için aynı yerel ve dış adı kullanmak #
öneki kullanabilirsiniz: İlk parametre örtülü olarak "hayır harici adı" davranışı kullandığını unutmayın birden çok başlatıcıları ile sınıflarını destekler çünkü
Swift 2.0 code:
func greet(name name: String = "world", hello: String = "hello") {
println("\(hello) \(name)")
}
// prints "hi jiaaro"
greet(name: "jiaaro", hello: "hi")
olası [dublaj: arama argümanında 'xxx' eksik argümanı etiketi] (http://stackoverflow.com/questions/24050844/swift-missing-argument-label-xxx-in-call) – jtbandes
@jtbandes bu soru ben daha büyük, ve ben bu soru ilk sorulduğunda (sen kesin olarak 6 dakika sonra) bağlandığınız soru üzerine bir yorum gönderdi(); – Jiaaro