如何修复 'dynamic' 属性 'IpfSetId' 也必须是 '@objc'?

How to fix 'dynamic' property 'IpfSetId' must also be '@objc'?

我几个月前为我的领域模型写了一个代码,它运行良好。但现在我在 RealmOptional 属性上收到一条错误消息,上面写着 'dynamic' property 'IpfSetId' must also be '@objc'

我更新、清理和重建 RealmSwift pod 但它对我没有帮助

@objcMembers class InspectionPointFields: Object {
    dynamic var IpfId: Int = 0
    dynamic var IpfGuid: String?
    dynamic var IpfFieldName: String?
    dynamic var IpfFieldType: Int = 0
    dynamic var IpfSetId = RealmOptional<Int>()
    dynamic var IpfComponentCustomInput: String?


    override class func primaryKey() -> String? {
        return "IpfId"
    }
    convenience init(IpfId: Int,IpfGuid: String?,
                     IpfFieldName: String?,IpfFieldType: Int,IpfSetId: Int?, IpfComponentCustomInput: String?) {
        self.init()
        self.IpfId = IpfId
        self.IpfGuid = IpfGuid
        self.IpfFieldName = IpfFieldName
        self.IpfFieldType = IpfFieldType
        self.IpfSetId.value = IpfSetId
        self.IpfComponentCustomInput = IpfComponentCustomInput


    }
}

可选整数是使用您已正确识别的 RealmOptional 类型实现的。基元虽然使用常量选项。 IE。替换您的声明:-

dynamic var IpfSetId = RealmOptional<Int>()

let IpfSetId = RealmOptional<Int>()