2012-03-15 2 views
0

Я использую фреймворк Json в своем проекте.Управление памятью - Цель C

я разобрать ответ JSON, как следует,

- (void)parseResponse:(NSData*)responseData 
{ 
    NSMutableString *responseString = [[NSMutableString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 
    NSDictionary *responseDic = [responseString JSONValue]; 
    NSString *responseDataString = [responseDic objectForKey:NSLocalizedString(@"JSON_RESPONSE_DICTIONARY_KEY", nil)]; 

    [responseString release]; 
} 

Итак, это правильно, если я позвоню релиз responseString как я сделал ??

Edited

я, как следует,

NSMutableString *responseString = [[NSMutableString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 

NSDictionary *responseDic = [responseString JSONValue]; 
NSString *responseDataString = [responseDic objectForKey:NSLocalizedString(@"JSON_RESPONSE_DICTIONARY_KEY", nil)]; 
NSDictionary *responseDataDic = [responseDataString JSONValue]; 
[responseString release]; 

Я думаю, что сейчас я нахожусь в безопасности.

+2

не только правильный, но и необходимый – MByD

+1

Кроме того, порядок заявлений неверен ... – Ilanchezhian

+0

О да, да. Я починил это. Thanx много Aadhira – chinthakad

ответ

1

Да,

, если вы создаете объект, используя метод, имя которого начинается с «Alloc», «новый», «копия», или «mutableCopy». вы должны освободить эти объекты.

+0

Да. Моя проблема заключалась в том, будет ли это воздействовать на экземпляр ** responseDic **. Поэтому я редактировал свой метод. (Я отредактировал мой вопрос, добавив его.) – chinthakad

+2

responseDic - объект автореферата. [responseString release]; не будет влиять на responseDic. –

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