2011-11-14 133 views
0

我試圖在運行時將一些項目添加到NSPopUpButton,但我無法對其進行任何修改,我只能讀取值。無法修改IBOutlet變量

(的一部分),我的代碼:

@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]; 
} 

最後一行返回0,即使addItemWithTitle被多次調用(我確信名稱正確設置)

以下也是它的「只讀」標誌

[popper setAutoenablesItems:YES]; 
NSLog(@"%@", [popper isAutoenablesItems] ? @"YES": @"NO"); 
// Prints "NO" 

我錯過了IBOutlet聲明的內容嗎?

回答

1

是否NSPopUpButton甚至在您調用它時初始化? A nil對象將禁用。你的代碼中沒有任何一點是你檢查是否是nil。如果poppernil,我會寫一條日誌聲明。如果是,請確保它已連接到您的筆尖。

+0

哇......我是這樣的一個dufus,當然是這樣。猜測當我嘗試將東西分配給空對象時(例如在我通常屬於的java中),我期待着某種錯誤消息, – Tomas