比较领域结果并在列表中找到对象

时间:2019-10-23 17:54:18

标签: swift realm

我需要遍历Realm文件中的对象,看看它是否也列在列表中。

当我使用Realm Browser查看文件时,该文件就在其中,但是以下代码始终呈现false。

任何人都可以知道发生了什么吗? (我在代码的前面部分开始了Try!Realm,就在那儿,这只是让我的brian感到困惑的部分。它运行良好,顺便说一句。

谢谢, 祝福 —马克

    let totalReg = realm.objects(Registry.self)
    let totalList = realm.objects(AllServices.self)

    if totalReg.count != 0 && totalList.count != 0 { // when the update releases, I will change totalList == 0

        print(totalReg.count) // = 2 records
        print(totalList.count) // = 1 but when I click and open the list in Realm Browser it shows both records

        let a = AllServices().self

        for reg in totalReg {
            if a.everything.contains(reg) {

                print("Here")
            } else {
                print("not here") //Each loop goes here.
                print(a.everything) //this prints: List<Registry> <0x600001d6e070> ( )
                print (reg) //This correctly prints all the properties of the object.
            }
        }
    }

即使注册表对象在列表中,此代码也始终默认为false。

class Registry: Object {
    @objc dynamic var registryId = UUID().uuidString

    @objc dynamic var dateTime:String?
    @objc dynamic var proper:String?
    @objc dynamic var service:String?
    @objc dynamic var place:String?

    @objc dynamic var sunEuchAttendance:Int = 0

    @objc dynamic var otherServiceAttendance:Int = 0
    @objc dynamic var EuchVisitor:Int = 0

    @objc dynamic var numberOfCommunions:Int = 0

    //People serving
    @objc dynamic var presiderOfficiant:String?
    @objc dynamic var preacher:String?
    @objc dynamic var server:String?
    @objc dynamic var memo:String?

    @objc dynamic var weekendEuch:Int = 0
    @objc dynamic var weekdayEuch:Int = 0
    @objc dynamic var privateEuch:Int = 0

    @objc dynamic var weekendOffice:Int = 0
    @objc dynamic var weekdayOffice:Int = 0

    @objc dynamic var burrial:Int = 0
    @objc dynamic var marraige:Int = 0

    @objc dynamic var other:Int = 0

    override static func primaryKey() -> String? {
        return "registryId"
    }

    override static func indexedProperties() -> [String] {
        return ["service"]
    }
}

//列表模型

class AllServices: Object {
    var everything = List<Registry>()
    var eucharist = List<Registry>()
    var weekdayEucharist = List<Registry>()
    var office = List<Registry>()
    var weekdayOffice = List<Registry>()
    var marriage = List<Registry>()
    var burial = List<Registry>()
    var requiem = List<Registry>()
    var nuptial = List<Registry>()
    var other = List<Registry>()
}

0 个答案:

没有答案
相关问题