2011-09-24 38 views
0

我必须在这里丢失一些明显的东西。
我想在应用程序启动时加载NSPopUpButton中的几个项目。我下面的代码添加在init方法:如何在Cocoa启动时设置NSPopUpButton的初始值

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方法,但在这种情况下,我希望它在引用它时会崩溃。

我应该在哪里放置我的代码?

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

回答

1

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

+0

感谢您的帮助。现在阅读......;) – BlazingFrog