我正在尝试在运行时向NSPopUpButton添加一些项目,但我无法对其进行任何修改,我只能读取值。
(部分)我的代码:
@interface GAH : NSObject {
// ...
IBOutlet NSPopUpButton *popper;
// ...
}
@end
然后我的@implementation:
@implementation GAH
// ...
-(void)someMethod {
// in a for loop
NSString *name = @"a name from the loop";
[popper addItemWithTitle:name];
// end for loop
NSLog(@"items: %d", [popper numberOfItems];
}
即使多次调用addItemWithTitle,最后一行返回0(我确保名称设置正确)
以下也是“只读”的标志
[popper setAutoenablesItems:YES];
NSLog(@"%@", [popper isAutoenablesItems] ? @"YES": @"NO");
// Prints "NO"
我是否遗漏了IBOutlet声明的内容?
答案 0 :(得分:1)
调用它时,NSPopUpButton
是否已初始化? nil
对象将无操作。代码中的任何一点都不会检查它是否为nil
。我会在日志声明中查看popper
是否为nil
。如果是,请确保它已在您的笔尖中连接。