Geticilerinizi ve ayarlayıcılarınızı Realm Swift ile özelleştirmek için, basit bir depolanmış özellik tanımlamanız gerekir. Ardından, bu özelliği aşağıda belirttiğiniz gibi özel ayarlayıcılar ve alıcılar ile tanımladığınız başka bir adrese erişebilirsiniz.
public class Foo : Object {
private dynamic var _bar: Int
public var bar: Int {
get {
return _bar + 1
}
set {
_bar = newValue - 1
}
}
}
Not olduğunu kullanılarak Swift adlı beklediğiniz gibi Diyar Swift ile willSet
veya didSet
çalışmayabilir. Bunlar, tek başına bağımsız nesneler için tetiklenir. Bir nesneyi sürdürdüğünüzde veya kalıcı bir izin aldığınızda, tüm alıcılar ve ayarlayıcılar kalıcı değerlere doğrudan erişim için geçersiz kılınır. Kullanmak istediğiniz şey bu değildir. Bu, nesne şemanız üzerinde güçlü garantilerin olmadığı ve kendiniz oluşturmadığınız yapısal olmayan veri veya veritabanlarıyla uğraşmanız gereken kullanım durumları için tasarlanmıştır.