2010-01-29 2 views
0

У меня есть простой способ, чтобы прочитать строку и разобрать его в массив,NSArray NSString утечку памяти

-(NSArray *) readFileToArray: (NSString *)file{ 
    NSString *values = [NSString stringWithContentsOfFile: file]; 
    NSArray *tokens = [values componentsSeparatedByString:@":"]; 

    return tokens; 
} 

однако инструменты сделал доклад мне, что я получил течь на NSString в строке

NSArray *tokens = [values componentsSeparatedByString:@":"]; 

Я понятия не имею, почему это происходит,
1). Я думаю, что и ценности, и токены являются автореализованными? Я прав?
2). Я пытался выпустить значения и токены (просто попробовать), он падает.

Спасибо за вашу помощь заранее.

Майкл

+0

Если вы отметите 'objective' и' c', вы получите ответы только от программистов Objective и C. –

ответ

0

кода Вы разместили используете правильное управление памятью (возвращаемое значение autoreleased). Посмотрите на код, вызывающий readFileToArray:, чтобы посмотреть, как он обрабатывает возвращенный массив.

+0

Даррен, спасибо за ваш ответ. – user238009

0

линия, которая просочилась в NSString *values = [NSString stringWithContentsOfFile: file];

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