我开始在iOS 8或更高版本上使用Realm,并查看了Realm中的文档。我注意到所有属性前面都有dynamic
关键字。Realm中是否需要这样做?我已经阅读了有关该关键字的Apple文档,可以在此处找到。https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html
我开始在iOS 8或更高版本上使用Realm,并查看了Realm中的文档。我注意到所有属性前面都有dynamic
关键字。Realm中是否需要这样做?我已经阅读了有关该关键字的Apple文档,可以在此处找到。https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html
2条答案
按热度按时间zlwx9yxi1#
是的,这是一般
var
属性的必要项目。来自 realm docs。领域模型属性需要
dynamic var
特性,以便这些属性成为基础数据库数据的访问器。有两个例外:
List
和RealmOptional
属性不能声明为动态属性,因为泛型属性不能在Objective-C运行时中表示,该运行时用于动态调度动态属性,并且应始终使用let
声明。v1l68za42#
在Swift 3中,我们这样声明属性
在Swift 4中,我们这样声明属性