другой вопрос управления памятью:
Я спрашивал об этом раньше, но не получил ответа:
Вопрос в том, приведет ли утечка к следующему или это нормально?
NSArray *txtArray = [NSArray array];
NSString *aTxtFieldTxt = [[NSString alloc]initWithString:aTxtField.text];
aTxtFieldTxt = [aTxtFieldTxt stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSMutableString *aTxt = [[NSMutableString alloc]initWithString:aTxtFieldTxt];
[aTxtFieldTxt release];
txtArray = [aTxt componentsSeparatedByString:@" "];
aTxt = [[txtArray objectAtIndex:0] retain];
for(int i = 1; i < [txtArray count]; i++){
[aTxt appendString:@"+"];
[aTxt appendString:[[txtArray objectAtIndex:i]retain]];
}
Это часть функции. И я не уверен, что присвоение aTxt = [[txtArray objectAtIndex:0] retain];
вызывает утечку, потому что это указатель, который изначально указывает на
NSMutableString *aTxt = [[NSMutableString alloc]initWithString:aTxtFieldTxt];
[aTxtFieldTxt release];
Как мне сделать это правильно. Должен ли я использовать другой указатель? Может кто-нибудь объяснить, пожалуйста, эту проблему?
Большое спасибо!