我尝试了很多方法来实现 NSPredicateEditor 但得到的是空白编辑器 View 。也尝试过一个新项目,但我仍然得到编辑器的空白 View 。我想知道是什么问题。该谓词是否适用于任何特定的 View ?代码是
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
最佳答案
隐藏在 NSPredicateEditorRowTemplate 的文档中,指出“设置谓词编辑器后,通常会向其发送一条 setObjectValue: 消息以恢复已保存的谓词”
因此,假设您在界面生成器中有一个模板,其键路径为“Name”,您只需要在代码中添加这样的一行即可显示模板:
[predicateEditor setObjectValue:[NSPredicate predicateWithFormat:@"Name CONTAINS \"\""]];
您也可以这样做来加载行:
[predicateEditor addRow:self];
关于objective-c - NSPredicateEditor 不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16169823/