如何修复“动态”属性“ IpfSetId”也必须为“ @objc”?

时间:2019-04-22 07:50:57

标签: swift realm

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

我更新,清理并重建RealmSwift吊舱,但这对我没有帮助

@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


    }
}

1 个答案:

答案 0 :(得分:0)

您已经正确识别出的RealmOptional类型可以实现可选的整数。尽管基元使用常量可选。即替换您的声明:-

dynamic var IpfSetId = RealmOptional<Int>()

let IpfSetId = RealmOptional<Int>()