我尝试了很多方法来实现NSPredicateEditor,但获得了空白的编辑器视图。尝试了一个新的项目,但我仍然得到编辑的空白视图。我想知道这是什么问题。是否存在此谓词正在运行的任何特定视图。代码是
AppDelegate.h
@interface AppDelegate : NSObject {
NSPredicate *predicate;
}
@end
AppDelegate.m
#define DEFAULT_PREDICATE @"firstname = 'John' AND lastname = 'Doe'"
-(id)init
{
self = [super init];
if (self != nil)
{
predicate = [[NSPredicate predicateWithFormat:DEFAULT_PREDICATE] retain];
}
return self;
}
@end
答案 0 :(得分:2)
隐藏在NSPredicateEditorRowTemplate的文档中,声明“在设置谓词编辑器之后,通常会发送一个setObjectValue:消息来恢复已保存的谓词”
假设您在界面构建器中有一个模板,其键路径为“Name”,您只需要在代码中使用这样的一行来显示模板:
[predicateEditor setObjectValue:[NSPredicate predicateWithFormat:@"Name CONTAINS \"\""]];
您也可以这样做来加载行:
[predicateEditor addRow:self];