NSPredicateEditor是隐形的

时间:2013-04-23 12:51:10

标签: objective-c macos nspredicate nspredicateeditor

我尝试了很多方法来实现NSPredicateEditor,但获得了空白的编辑器视图。尝试了一个新的项目,但我仍然得到编辑的空白视图。我想知道这是什么问题。是否存在此谓词正在运行的任何特定视图。代码是
enter image description here

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

1 个答案:

答案 0 :(得分:2)

隐藏在NSPredicateEditorRowTemplate的文档中,声明“在设置谓词编辑器之后,通常会发送一个setObjectValue:消息来恢复已保存的谓词”

假设您在界面构建器中有一个模板,其键路径为“Name”,您只需要在代码中使用这样的一行来显示模板:

[predicateEditor setObjectValue:[NSPredicate predicateWithFormat:@"Name CONTAINS \"\""]];

您也可以这样做来加载行:

[predicateEditor addRow:self];