领域类属性不能标记为动态的。

8
我刚升级到Xcode 7和Swift 2,这行代码报错了: Property cannot be marked dynamic because its type canot be represented in Objective-C。
dynamic var log = List<LogEntry>()
2个回答

8

Realm更新了它的文档:Realm Swift 0.95.0,现在你应该使用let代替dynamic var


2
有两个例外:List 和 RealmOptional 属性不能声明为 dynamic,因为泛型属性无法在 Objective-C 运行时中表示,而该运行时用于动态分派动态属性,并且应始终使用 let 声明。 - finneycanhelp

0

我曾经遇到过类似的问题,花了很长时间才弄明白。我的主要问题是在看到编译问题后,我去掉了所有的dynamic标志,但它几乎无法访问任何数据。看起来可以安全地从所有to-many对象中删除dynamic,例如List<Object>(),但在其他所有情况下都应该保留它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接