我一直在搜索 Apple 的 Predicate Programming Guide 和 SO,试图确定为某个获取请求编写谓词的正确方法。
似乎我尝试使用点符号来遍历关系的方式没有得到请求的尊重。
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Task" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"project.user == %@", self.user];
[fetchRequest setPredicate:predicate];
用户、项目和任务都是映射到 BaaS 提供商 (StackMob) 的核心数据实体。
关系如下:用户 一对多 Project 一对多 Task与您期望的反向关系。我想要做的是获取当前登录用户的所有任务。所以,我的想法是:发送带有实体“任务”的获取请求。如果拥有该任务的项目归登录用户所有,则获取该任务并显示它。很简单。
而且我认为我应该能够在上面显示的谓词中使用点表示法,但是获取请求返回 nil。
关于获取请求的其他一切都很好。如果我将格式字符串更改为@"project != NULL"
,我会恢复所有任务。
我只是错误地写了我的格式字符串吗?向 StackMob 发送获取请求时,点表示法是否无效?
与往常一样,非常感谢任何帮助。
如果需要更多信息,请告诉我。我现在离这个有点太近了,看不清楚。