Bu basit sınıfla derleyici uyarısı alıyorum
x
Kendi ayarlayıcı / alıcısında değişiklik yapmaya / erişmeye çalışmak
ve bu şekilde kullandığımda:
var p: point = Point()
p.x = 12
Bir EXC_BAD_ACCESS alıyorum. Bunu ivarları açıkça desteklemeden nasıl yapabilirim?
class Point {
var x: Int {
set {
x = newValue * 2 //Error
}
get {
return x / 2 //Error
}
}
// ...
}
set
istediğiniz kullanmak yerine bu davranış kafa karıştırıcıdır didSet
. Özellikler, uyguladığınızda Swift'te Objective-C veya diğer dillerden farklı davranır set
. Bkz @jack aşağıda cevabını ve örnek didSet
@cSquirrel dan