Durumda olmaması gereken bir şeyle ilgili bir sorun yaşıyorum gibi görünüyor ... Ama biraz yardım istemek istiyorum.Özellik başlatıcıları 'kendinden' önce çalışır
Yığınımda bazı açıklamaları yok.
Aşağıdaki gibi, birinin diğerine başvurduğu iki basit sınıfa sahip olmak;
class User {
lazy var name: String = ""
lazy var age: Int = 0
init (name: String, age: Int) {
self.name = name
self.age = age
}
}
class MyOwn {
let myUser: User = User(name: "John", age: 100)
var life = myUser.age
//Cannot use instance member 'myUser' within property initializer
//property initializers run before 'self' is available
}
Yorumlanan derleme hatasını alıyorum. Birisi lütfen durumu çözmek için ne yapmam gerektiğini söyler misiniz?
Yardım için herhangi bir iyi kişiye çok teşekkürler!
Kodu bir yöntem içine koyun. Sınıfın üst seviyesinde birbirine bağlı olan özellikleri başlatamazsınız. Veya hesaplanmış bir özellik kullanın. Btw: "Kullanıcı" sınıfındaki "tembel" öznitelikleri işe yaramaz. – vadian
@vadian, yardımlarınız için teşekkürler. – RafalK