gpt4 book ai didi

swift - 比较 Realm 对象列表

转载 作者:行者123 更新时间:2023-11-28 15:26:21 24 4
gpt4 key购买 nike

我想比较 2 个 Realm 对象列表,看看它们是否相同。这是对象的样子。

class ScheduleRealm: Object {
let scheduleList = List<Schedule>()
}

class Schedule: Object {
dynamic var startTime : Date = Date()
dynamic var endTime : Date = Date()
dynamic var name : String = ""
}

当我打印 2 列表时:

List<Schedule> (
[0] Schedule {
startTime = 2017-07-03 16:00:00 +0000;
endTime = 2017-07-03 18:00:00 +0000;
name = Weights Mon, 3 Jul 16:00 120m;
},
[1] Schedule {
startTime = 2017-07-04 16:00:00 +0000;
endTime = 2017-07-04 17:30:00 +0000;
name = Weights Tue, 4 Jul 16:00 90m;
},
[2] Schedule {
startTime = 2017-07-10 01:30:00 +0000;
endTime = 2017-07-10 04:30:00 +0000;
name = Weights Mon, 10 Jul 01:30 180m;
}
)
List<Schedule> (
[0] Schedule {
startTime = 2017-07-03 16:00:00 +0000;
endTime = 2017-07-03 18:00:00 +0000;
name = Weights Mon, 3 Jul 16:00 120m;
},
[1] Schedule {
startTime = 2017-07-04 16:00:00 +0000;
endTime = 2017-07-04 17:30:00 +0000;
name = Weights Tue, 4 Jul 16:00 90m;
},
[2] Schedule {
startTime = 2017-07-10 01:30:00 +0000;
endTime = 2017-07-10 04:30:00 +0000;
name = Weights Mon, 10 Jul 01:30 180m;
}
)

我试过使用“==”或“isEqual”,但即使列表相同,结果仍然是错误的。我该怎么做才能确定它们是否彼此相同。

最佳答案

Realm 覆盖 == 函数,参见 Realm object's Equatable is implementation .

简而言之,您正在比较的两个列表可能被 Realm 认为不相等,因为它们不是 Realm 中的两个托管列表,或者因为它们存储在不同的 Realms 中。如果是这种情况,您可以通过制作托管列表的非托管副本并将其与其他列表进行比较来避免这种情况。

关于swift - 比较 Realm 对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45165526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com