Statik değişkenler hakkındaki görüşümü ve hızla kullandıktan sonra sabitimi yok etti.Swift: Statik olmayan yöntemler, dinamik değişkenler olmadan durağan değişkenleri ve sabit (statik let) neden arayamıyor?
Hızlı neden diğer değişkenlerde durağan değişkenleri ve sabitleri aramamıza izin vermiyor? örneğin
:
class Aa {
static let name = "Aario"
func echo() {
print(name) // Error!
}
}
Sn Dev dynamicType
kullanmak söyledi.
class Aa {
static var name = "Aario"
func echo() {
print(self.dynamicType.name)
}
}
let a = Aa()
a.dynamicType.name = "Aario Ai"
a.echo() // it works!!!
Çalışıyor! Peki neden statik değişkenleri çağırmak için dynamicType kullanmalıyım?
Son olarak, cevap:
class Aa {
static var name = "Static Variable"
var name = "Member Variable"
func echo() {
print(self.dynamicType.name) // Static Variable
print(Aa.name) // Static Variable
print(name) // Member Variable
}
}
let a = Aa()
a.dynamicType.name = "Aario Ai"
Aa.name = "Static: Aario"
a.name = "Member: Aario"
a.echo() // it works!!!
diğer dillerle gerçekten farklı.
self.dynamictype.name kullanın – ogres
Haklısınız. Bana başka dillerden neden farklı olduğunu söyleyebilir misin? – AarioAi
Hem örnek özelliği hem de aynı ada sahip bir tür (sınıf/statik) özellik olabilir. –