Sınıfınız bu koşulları yerine getirirse bu hatayı alırsınız.
- Alt sınıf
NSObject
.
- Bir Has
static let
alanı.
- Alana bir örnek yönteminden aracılığıyla erişir
dynamicType
.
Bunun neden olduğunu bilmiyorum ama bu geçici çözümü deneyebilirsiniz.
static var value: Int {
get {
return 111
}
}
Veya daha kısa formda.
static var value: Int {
return 111
}
static var { get }
Bunun yerine kullanın static let
.
Mülk alıcı ve arama maliyeti, yukarıdaki örnekte LLVM iyileştirici tarafından büyük olasılıkla ortadan kaldırılsa da, bundan açıkça kaçınmak isteyebilirsiniz.
Bu tür bir değer hesaplama maliyeti konusunda endişeleriniz varsa, bir kez oluşturabilir ve bu şekilde önbelleğe alabilirsiniz.
static var value: Int {
return cache
}
private let cache = getTheNumber()
Veya önbelleğin varlığını tamamen gizlemek istiyorsanız bunun gibi.
static var value: Int {
struct Local {
static let cache = getTheNumber()
}
return Local.cache
}
func test2
Deklarasyon Xcode 7.3.1 itibariyle, hataya neden gerekli değildir.