2010-04-13 174 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相同的问题。