2010-04-13 70 views
1

我有一個非常簡單的任務: 將textField的內容添加到NSMutableArray。問題是數組正在返回nill。我相信這與我使用的數組被聲明爲實例變量的事實有關。爲什麼我的NSMutableArray返回nill?

/* 
IBOutlet NSTextField *textField; 
IBOutlet NSTabView *tableView; 
IBOutlet NSButton *button; 
NSMutableArray *myArray; 
*/ 

#import "AppController.h" 


@implementation AppController 


-(IBAction)addNewItem:(id)sender 
{ 
    NSString *string = [textField stringValue]; 
    NSLog(@"%@",string); 

    [myArray addObject:string]; 
    NSLog(@"%d",[myArray count]);//this outputs 0 why is that? 

} 
+0

可能的重複http://stackoverflow.com/questions/633699/nsmutablearray-count-always-returns-zero – itsmatt 2010-04-13 21:11:17

+0

你是如何初始化數組?你正在初始化它嗎? – 2010-04-14 00:20:34

回答

6

您是否在以下地方做過?

myArray = [[NSMutableArray alloc] init]; 

如果你沒有做這樣的事情,myArray的僅僅是一個空指針和ADDOBJECT通話將只是默默地什麼也不做。


編輯:的想法在這裏是沒有的NSMutableArray對象被創建,如果你只是有一個指針變量。直到分配初始化被調用,沒有任何對象。

有關NSMutableArray及其用法的更多信息,請參閱this CocoaDev pageApple documentation有關於NSMutableArray方法的信息。


此外,這本質上與this SO question相同的問題。