领域 - 属性不能标记为动态,因为其类型无法在Objective-C中表示

Sur*_*esh 10 xcode realm swift

我正在尝试实现以下方案,但我正面临着这个问题

class CommentsModel: Object {
  dynamic var commentId = ""
  dynamic var ownerId: UserModel?
  dynamic var treeLevel = 0
  dynamic var message = ""
  dynamic var modifiedTs = NSDate()
  dynamic var createdTs = NSDate()

 //facing issue here 
 dynamic var childComments = List<CommentsModel>()
}
Run Code Online (Sandbox Code Playgroud)

我有一个注释模型,它具有非可选属性,其中childComments是相同注释模型类的List.在此我宣布dynamic var childComments = List<CommentsModel>()

它显示我无法将属性标记为动态,因为其类型无法在Objective-C中表示.

请帮我解决如何达到我的要求

Dmi*_*try 10

List和RealmOptional属性不能声明为动态属性,因为无法在Objective-C运行时表示泛型属性,后者用于动态分配动态属性,并且应始终使用let声明.

Docs中了解更多信息.

所以你应该这样声明childComments:

let childComments = List<CommentsModel>()
Run Code Online (Sandbox Code Playgroud)

  • 如果声明为 let ,你如何更新 childComments ? (2认同)