iosrealmswift4realm-database

Realm model contains property but not found it at runtime


I am getting error as below

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

Where as my Model is as Under

@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"
}

}

and I am making query like this :

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

What could be problem here. I do not know why my app is crashing with the same error. But If I change the value like

    let mSavedItems = mDbHelper.realmObj.objects(MyCustomModel.self).filter("ProductId = 0")

The app gets run, but crashed on when I use IsRecordDeleted in predicate.

Please tell me what could be problem


Solution

  • You can try

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

    and

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

    For both

    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)