Утечка памяти, которая кажется на связи
Вот проблема утечки, с которой у меня проблемы. Большая часть этого кода предназначена только для контекста, поэтому вы можете видеть, что объект NSData "ответа" - это не то, что просачивается.
Если я углублюсь в код touchJSON, следуя трассировке стека, предоставленной мне инструментом LEAKS, утечка, очевидно, начинает жизнь на линии
*outStringConstant ....
Но так как это такая часто используемая библиотека, я сомневаюсь, что это проблема.
Одна запись. Это не утечка в первый раз, когда это выполнено, только каждый последующий раз. Но он часто дает утечки, поэтому данные отклика, вероятно, являются фактическими данными, которые просачиваются.
Кроме того, если кто-то знаком с touchJSON и этим кодом, вы можете объяснить мне, что это за переменная outStringConstant и что она делает? Кажется, он не играет никакой роли, кроме того, что ему присваивается копия строки, хотя, если я удаляю эту строку, код вылетает.
МОЙ КОД
dataRequestURL = [NSString stringWithFormat:@"http://www....", ...];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:dataRequestURL] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:&ts_response error:&ts_error];
NSArray *array = [[CJSONDeserializer deserializer] deserialize:response error:nil]; <- LEAKS HERE
Код TOUCHJSON - это
-(BOOL)scanJSONStringConstant:(NSString **)outStringConstant error:(NSError **)outError {
NSMutableString *theString = [[NSMutableString alloc] init];
if (outStringConstant != NULL) { *outStringConstant = [[theString copy] autorelease]; }
[theString release];
}