我想比较 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 对象的 Equatable 是实现 https://stackoverflow.com/a/38877533/4667835.
简而言之,您正在比较的两个列表可能会被 Realm 视为不相等,因为它们并非都是 Realm 中的托管列表,或者因为它们存储在不同的 Realm 中。如果是这种情况,您可以通过创建托管列表的非托管副本并将其与其他列表进行比较来避免这种情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)