如何在Cocoa启动时设置NSPopUpButton的初始值

时间:2011-09-24 15:45:10

标签: cocoa

我必须在这里遗漏一些明显的东西 我正在尝试在应用启动时在NSPopUpButton中加载一些项目。我在init方法中添加了以下代码:

NSArray *listOfProfiles = [[NSArray alloc] initWithObjects:@"My Item 0", @"My Item 1", nil];
[profileListPopUp addItemsWithTitles:listOfProfiles];
NSLog(@"item 0 %@", [profileListPopUp itemTitleAtIndex:0]);
NSLog(@"item 1 %@", [profileListPopUp itemTitleAtIndex:1]);

我得到的输出是:

2011-09-24 08:27:39.147 MyApp[3794:707] item 0 (null)
2011-09-24 08:27:39.148 MyApp[3794:707] item 1 (null)

但是,如果我将代码放在另一个按下不同按钮时调用的方法中,它可以正常工作 似乎在创建NSPopUpButton之前调用了init方法,但在这种情况下,我希望它在引用它时会崩溃。

我应该把代码放在哪里?

额外问题:我如何摆脱RemoveAll中加载的默认值(除了调用控件上的NSPopUpButton):'Item 1','Item2'和'Item 3' 。

1 个答案:

答案 0 :(得分:1)

如果您还没有听说过-awakeFromNib-windowDidLoadNib方法,那么现在是阅读它们的好时机。我的猜测是你的profileListPopUp指针是在你尝试向它添加项目的时候,因为它还没有从笔尖完全加载。