происходит сбой при возврате NSMutableArray? - PullRequest
1 голос
/ 16 марта 2010

Я так закодировал (эта функция будет вызываться снова и снова), но возвращаемый объект выдает «ПЛОХОЙ ДОСТУП», NSLog печатает правильную строку, но иногда toReturn (я вызывал снова и снова) дает сбои .. любая помощь, чтобы изменить этот код, если я удаляю метод "autorelease", он прекрасно работает

 - (NSMutableArray *)getAll:(NSString *)type
{
    NSLog(@"Type: %@", type);
    NSMutableArray *toReturn = [[[NSMutableArray alloc] initWithCapacity:0] autorelease];

    rs = [db executeQuery:Query1];

    while ([rs next]) {
        [toReturn addObject:[rs stringForColumn:@"Name"]];
        NSLog(@"name: %@", [rs stringForColumn:@"Name"]);
    }

    [rs close];

    return toReturn;
}

1 Ответ

1 голос
/ 16 марта 2010

Вы должны убедиться, что ваша строка не была освобождена в это время. Попробуйте изменить

    [toReturn addObject:[rs stringForColumn:@"Name"]];

до

    [toReturn addObject:[[rs stringForColumn:@"Name"] copy]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...