ios - Realm 模型包含属性但在运行时未找到它

标签 ios realm swift4 realm-database

出现如下错误

Invalid property name , reason: 'Property 'IsRecordDeleted' not found in object of type 'MyCustomModel'

我的模型在下面

@objcMembers public class MyCustomModel : Object {
dynamic var   Id : String = ""
dynamic var   ProductId : String? = ""
dynamic var   IsRecordDeleted : Bool? = false
dynamic var   ProductBarcode : String? = ""


override public class func primaryKey() -> String? {
    return "Id"
}

我正在这样查询:

let mSavedItems = mDbHelper.realmObj.objects(MyCustomModel.self).filter("IsRecordDeleted = false")

这里可能有什么问题。我不知道为什么我的应用程序会因同样的错误而崩溃。但是如果我像

这样改变值
    let mSavedItems = mDbHelper.realmObj.objects(MyCustomModel.self).filter("ProductId = 0")

应用程序开始运行,但当我在谓词中使用 IsRecordDeleted 时崩溃了。

请告诉我可能是什么问题

最佳答案

你可以试试

let mSavedItems = mDbHelper.realmObj.objects(MyCustomModel.self)
let filtered = mSavedItems.filter { $0.IsRecordDeleted == false }

let mSavedItems = mDbHelper.realmObj.objects(MyCustomModel.self) 
let filtered = mSavedItems.filter { $0.ProductId == "0" }

两者皆有

let mSavedItems = mDbHelper.realmObj.objects(MyCustomModel.self) 
let filtered = mSavedItems.filter {
   $0.IsRecordDeleted == false 
   && $0.ProductId == "0" 
}

//

let resultPredicate = NSPredicate(format: "ProductId == '0' AND IsRecordDeleted == false")
let filtered = mSavedItems.filter(resultPredicate)

关于ios - Realm 模型包含属性但在运行时未找到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52187172/

相关文章:

ios - 如何在 iOS 中从 Facebook 获取电子邮件地址?

ios - 如何将分段控制变量发送到prepareforsegue?

swift - 如何将 Swift 排序方法与 Realm 容器相结合?

ios - 如何使用 wkwebview 打开 PDF 链接

swift - 将字符串转换为日期会中断本地时间

ios - 使用playbackStoreID播放Apple Music歌曲时出现问题

c# - IOS 上的 Bouncy CaSTLe ECDSA 签名/验证行为不一致

swift - 我可以在 Swift 中向 Realm 类添加方法吗?

ios - 使用 Realm 对数据进行排序

Swift 动态类型调用,怎么样?