Иногда мне интересно, где бы я мог получить отличную информацию, кроме как от сообщества переполнения стека. Я полагаю, что руководство по управлению памятью Objective-C не будет плохим, но я чувствую, что вы, ребята, можете сказать мне почему , а не просто что делать.
У меня есть следующий код:
NSString* rawTickerData = [[NSString alloc] initWithData: op.requestData encoding:NSUTF8StringEncoding];
NSArray* lines = [rawTickerData componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
for(NSString* line in lines)
{
NSArray* fields = [line componentsSeparatedByString:@","];
if([fields count] > 1)
{
[self.tickerData addObject:fields];
}
}
[rawTickerData release]
Instruments сообщает мне, что fields
протекает, но попытка освободить его после оператора if или выполнение автоматического выпуска дает EXC_BAD_ACCESS.
То же самое происходит с lines
. Выпуск его в любом месте или попытка сделать авто-релиз дает EXC_BAD_ACCESS или "попытка освободить двойную версию" (для авто-релиза).
Тем не менее, инструменты все еще говорят, что они протекают. Я что-то упустил?