Realm中的动态属性

问题描述:

我开始使用iOS 8或更高版本的Realm并查看Realm中的文档。我注意到所有的属性都在其前面有dynamic关键字。这是Realm所需要的吗?我已阅读关于可在此处找到的关键字的Apple文档。 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.htmlRealm中的动态属性

是的,对于正常的var属性是强制性的。来自realm docs

领域模型属性需要dynamic var属性才能使这些属性成为底层数据库数据的访问者。

有两个例外:ListRealmOptional属性不能被声明为动态的,因为一般属性不能在Objective-C运行,这是用于动态特性的动态调度来表示,而应始终let声明。

动态关键字是什么使得境界通知更改模型变量,因此它们反映到数据库中。

在斯威夫特3,宣布了我们这样

dynamic var Name : String = "" 

在斯威夫特4属性,我们宣布我们的财产这样

@objc dynamic var Name : String = "" 

我也没有多大视频有关此错误。如果你对编码艺术不了解。观看视频

https://youtu.be/Wn3lLELLq4c