我无法填充NSComboBox
。我正在尝试以编程方式将其绑定到NSArrayController
:
frequencyArrayController = [[NSArrayController alloc] initWithContent:nil];
[frequencyArrayController setManagedObjectContext:[[NSApp mainWindowDocument] managedObjectContext]];
[frequencyArrayController setEntityName:@"Frequency"];
[frequencyArrayController fetch:self];
[frequencyComboBox bind:@"contentValues" toObject:frequencyArrayController withKeyPath:@"arrangedObjects.DisplayName" options:nil];
我错过了什么?
该字段位于NSPanel
,该应用程序启动时尚未打开。我绑定它并提前加载笔尖,这是一个问题吗?
答案 0 :(得分:2)
您需要告诉您的数组控制器在某个时刻获取:
编辑:这是我用来测试的示例代码:
arrayController = [[NSArrayController alloc] init];
[arrayController setManagedObjectContext:self.managedObjectContext];
[arrayController setEntityName:@"Entity"];
[comboBox bind:@"contentValues" toObject:arrayController
withKeyPath:@"arrangedObjects.name" options:nil];
[arrayController fetch:self];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
NSLog(@"%@", comboBox.objectValues);
}];
检查您的MOC和IBOutlets是否为零。