2011-01-17 2 views
0

У меня возникла проблема с добавлением объектов в массив NSMutableArray *.Проблемы с добавлением объектов в NSMutableArray

// Controller.m 
#import "Controller.h" 
@implementation Controller 
- (void)parser:(NSString *)string{ 
    [array addObject:string]; 
    NSLog(@"answerArray(1): %@",[array objectAtIndex:1]); 
    [array retain]; 
} 
@end 

// Controller.h 
#import <Foundation/Foundation.h> 
@interface Controller : NSObject { 
    NSMutableArray *array; 
} 
- (void)parser:(NSString *)string; 
@end 

NSLog (@ "answerArray (1):% @", [массив objectAtIndex: 1]);

Результаты: answerArray (1): (нуль)

+0

чем проблема на самом деле? Что такое ответ? – taskinoor

+0

Вы инициализируете массив? – Paul

ответ

1

Во-первых, вы над удерживающий массив.

Во-вторых, вы не указали код для инициализации массива, поэтому я предполагаю, что он не выделен и не инициализирован. Это приведет к тому, что код отправит нулевой объект и, таким образом, вернет нуль.

Вы должны создать метод init для объекта Controller и выделить новый объект NSMutableArray (и сохранить его).

Кроме того, надлежащее dealloc для выпуска массива.

+0

Хороший звонок! Благодаря! – nebulus

0

Вот метод, который я добавил в класс контроллера:

- (id)init { 
    self = [super init]; 
    if(self){ 
     array = [[NSMutableArray alloc] init]; 
    } 
    return self; 
} 
- (void)dealloc { 
    [array release]; 
    [super dealloc]; 
} 
Смежные вопросы