2010-04-13 4 views
1

У меня очень простая задача: добавить содержимое текстового поля в NSMutableArray. Проблема заключается в том, что массив возвращает nill. Я считаю, что он имеет какое-то отношение к тому факту, что массив, который я использую, объявляется как переменная экземпляра.Почему мой NSMutableArray возвращает ниль?

/* 
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

+0

Как вы инициализируете массив? Вы его инициализируете? – 2010-04-14 00:20:34

ответ

6

Вы где-то делали?

myArray = [[NSMutableArray alloc] init]; 

Если вы не сделаете что-то подобное, туАггау просто пустой указатель и AddObject вызов будет просто молча делать ничего.


Edit: Идея заключается в том, что ни один объект NSMutableArray не был создан, если только есть переменная указателя. До вызывается и init, нет объекта.

Отъезд this CocoaDev page для получения дополнительной информации о NSMutableArray и его использовании. И Apple documentation содержит информацию о методах NSMutableArray.


Кроме того, это, по существу, тот же вопрос, как this SO question.

Смежные вопросы