领域获取返回错误的结果
Realm fetch returning wrong results
我有两个 RLMObject 子类:Habit 和 Doable。 Doables 有一个 'habit' 属性(所以每个 Doable 可以有一个习惯,但是多个 Doable 可以属于同一个习惯)。习惯有一个主键 'id' 字段,它是一个 GUID。
我正在尝试根据特定习惯查找 Doables:
NSLog(@"habit.id: %@", habit.id)
// habit.id: 03736F78-BA78-4E43-B6E5-693D369D0E3D
RLMResults<Doable*>* doables = [Doable objectsWhere:@"habit = %@", habit];
但是当我查看返回结果时,返回的 Doables 是针对不同习惯的:
for (Doable* doable in doables) {
NSLog(@"doable.habit.id: %@", doable.habit.id);
}
// doable.habit.id: 4DFD946A-8F56-4F21-9987-7B2DFC8B66DF
// doable.habit.id: 4DFD946A-8F56-4F21-9987-7B2DFC8B66DF
// doable.habit.id: 4DFD946A-8F56-4F21-9987-7B2DFC8B66DF
知道这里发生了什么吗?我是 运行 境界 0.95.2
谢谢!
这可能是由于 issue described here。
作为目前的解决方法,我建议使用您的 id
属性,假设它适合识别对象:
RLMResults<Doable*>* doables = [Doable objectsWhere:@"habit.id = %@", habit.id];
我有两个 RLMObject 子类:Habit 和 Doable。 Doables 有一个 'habit' 属性(所以每个 Doable 可以有一个习惯,但是多个 Doable 可以属于同一个习惯)。习惯有一个主键 'id' 字段,它是一个 GUID。
我正在尝试根据特定习惯查找 Doables:
NSLog(@"habit.id: %@", habit.id)
// habit.id: 03736F78-BA78-4E43-B6E5-693D369D0E3D
RLMResults<Doable*>* doables = [Doable objectsWhere:@"habit = %@", habit];
但是当我查看返回结果时,返回的 Doables 是针对不同习惯的:
for (Doable* doable in doables) {
NSLog(@"doable.habit.id: %@", doable.habit.id);
}
// doable.habit.id: 4DFD946A-8F56-4F21-9987-7B2DFC8B66DF
// doable.habit.id: 4DFD946A-8F56-4F21-9987-7B2DFC8B66DF
// doable.habit.id: 4DFD946A-8F56-4F21-9987-7B2DFC8B66DF
知道这里发生了什么吗?我是 运行 境界 0.95.2
谢谢!
这可能是由于 issue described here。
作为目前的解决方法,我建议使用您的 id
属性,假设它适合识别对象:
RLMResults<Doable*>* doables = [Doable objectsWhere:@"habit.id = %@", habit.id];