Возникли проблемы с добавлением объектов в NSMutableArray - PullRequest
0 голосов
/ 17 января 2011

У меня проблема с добавлением объектов в массив 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):% @", [array objectAtIndex: 1]);

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

Ответы [ 3 ]

1 голос
/ 17 января 2011

Во-первых, вы чрезмерно сохраняете массив.

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

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

Кроме того, правильный dealloc для освобождения массива.

1 голос
/ 17 января 2011

NSMutabaleArray начинается с индекса 0

0 голосов
/ 17 января 2011

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

- (id)init {
    self = [super init];
    if(self){
        array = [[NSMutableArray alloc] init];
    }
    return self;
}
- (void)dealloc {
    [array release];
    [super dealloc];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...