Xcode 4的谓词编辑器控件存在一些问题 - 我认为我做的一切都是正确的,而且看起来IDE本身就被破坏了.
我在我正在编写的应用程序中遇到此问题,但为了隔离它,我执行了以下操作:
使用窗口创建新项目.在XIB编辑器中,向其添加NSPredicateEditor,并添加一行.将其保留为关键路径/字符串,并添加两个关键路径 - "标题"和"编写者".使它成为案例和变音不敏感.
创建NSWindowController的子类并为谓词编辑器添加IBOutlet.
在awakeFromNib中,输入以下代码:
NSPredicate*myPredicate = [NSPredicate predicateWithFormat:@"(标题CONTAINS [CD]%@)AND(作者CONTAINS [CD]%@)",@"",@""];
[_predicateEditor setObjectValue:myPredicate];
这会在控制台中产生以下内容:
2011-04-12 15:59:37.709 PredicateTest [38419:903]警告 - 无法找到模板匹配谓词标题CONTAINS [cd]""
2011-04-12 15:59:37.710 PredicateTest [38419:903]警告 - 无法找到模板匹配谓词作者CONTAINS [cd]""
当我单击(+)按钮添加新行时,我得到以下内容:
2011-04-12 15:59:40.044 PredicateTest [38419:903]无法使用nil运算符或表达式创建比较谓词.
我是否正确地认为我在这里做错了什么,这应该有用吗?如果我更改谓词编辑器行模板远离键路径,然后将其切换回键路径,并编辑键路径列表,Xcode崩溃与内部一致性异常,这让我觉得Xcode 4可能不符合要求它涉及到谓词编辑.
有人有任何想法吗?我已经尝试在代码而不是XIB编辑器中创建NSPredicateEditor,并且无休止地搞乱无济于事.谓词编辑功能正在阻止我向商店发布应用程序,所以这有点令人烦恼.