swift2 领域中的动态属性

cbeh67ev  于 2022-11-06  发布在  Swift
关注(0)|答案(2)|浏览(177)

我开始在iOS 8或更高版本上使用Realm,并查看了Realm中的文档。我注意到所有属性前面都有dynamic关键字。Realm中是否需要这样做?我已经阅读了有关该关键字的Apple文档,可以在此处找到。https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html

zlwx9yxi

zlwx9yxi1#

是的,这是一般var属性的必要项目。来自 realm docs
领域模型属性需要dynamic var特性,以便这些属性成为基础数据库数据的访问器。
有两个例外:ListRealmOptional属性不能声明为动态属性,因为泛型属性不能在Objective-C运行时中表示,该运行时用于动态调度动态属性,并且应始终使用let声明。

  • dynamic* 关键字允许将模型变量的更改通知给Realm,并随后将这些更改反映到数据库中。
v1l68za4

v1l68za42#

在Swift 3中,我们这样声明属性

dynamic var Name : String = ""

在Swift 4中,我们这样声明属性

@objc dynamic var Name : String = ""

相关问题