我在这个问题上摸不着头脑.我有一个工作,但我不明白,所以这不算数.我想要做的是实体(在这种情况下,"照片"说),我想找到除指定用户以外的任何人审查的所有照片.这里的关系是Photo-> Review-> User,其中一张照片可以有多个评论,每个评论只由一个用户拥有.前两个例子是我的逻辑第一次尝试,但不起作用.我发现了一些类似的代码,显示了子查询有效,但有人可以解释为什么前两个例子不起作用吗?
// this does not work
[NSPredicate predicateWithFormat:@"NOT (ANY reviews.user = %@)", self.user]
// this does not work
[NSPredicate predicateWithFormat:@"NONE reviews.user = %@", self.user]
// this works
[NSPredicate predicateWithFormat:@"SUBQUERY(reviews, $x, $x.user == %@).@count == 0", self.user];
Run Code Online (Sandbox Code Playgroud) 我想要的设置是一个主项目,它取决于子项目(生成静态库).将子项目添加到Xcode工作正常,但正如您所期望的那样,您必须将用户头搜索路径设置为包含子项目的文件夹,除非您要明确地将子项目的文件添加到主项目中,这样做会失败的目的.子项目.
据我所知,设置用户标题搜索路径将破坏代码意义,并在下次打开项目时在主项目中"跳转到定义"导航.
这是一个示例,超级简单的股票项目,说明了问题:
http://dl.dropbox.com/u/579169/MainProject.zip
如果你转到Application Delegate并尝试跳转到属性引用的定义,比如说self.window,Xcode只会给你一个它知道的所有"窗口"属性的列表.同样,自动完成无法正常工作.
如果删除用户标题搜索路径,关闭项目并重新打开它,代码检测将按预期工作.
我已经向Apple提交了一个错误,但是想知道是否有人遇到过这个特定的问题,或者有一个合理的解决方法.删除项目"derived"构建文件夹以触发reindex不能可靠地工作.