Странная проблема памяти
-
25-09-2019 - |
Вопрос
В какой-то момент я выделяю элемент NSMutablataTA, как это:
NSMutableData* data=[[NSMutableData alloc] initWithLength:0];
Позже я делаю:
NSString *dataAsStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] ;
completeCommand = [NSString stringWithFormat:@"%@%@",
incompleteMessage,
[dataAsStr substringWithRange:NSMakeRange(startIndex, i-startIndex)]];
[incompleteMessage release];
incompleteMessage = nil;
[dataAsStr release];
И, наконец, я звоню:
[data release]; //Here I get a BAD_ACCESS error since data gets a release count of -1
В настоящее время в соответствии с инструментами (ассигнования с поддержкой зомби), первая строка второго блока NSString * DataasString = ... Вызывает [Выпуск данных
Где это происходит?
Решение
Мишенство решено .. Это довольно большой метод, поэтому я не осознавал, что [выпуск данных]; был в петле, а его распределение не было. Это вызывало зомби.
Не связан с StackOverflow