Я использую TouchJson для анализа данных json из api graphs на facebooks. Я получаю некоторые утечки памяти, и я действительно не понимаю, почему ...
Стремясь найти утечку, я удалил все остальное, поэтому мне оставлен следующий код. Утечка составляет одну NSCFString для каждого цикла, и я понимаю, что это происходит из-за присвоения myItem.date, но я не понимаю, почему?
Я использую последнюю версию TouchJson
NSError *error;
NSDictionary *jsonDictionary = [[CJSONDeserializer deserializer] deserializeAsDictionary:data error:&error];
NSArray *jsonArray = [jsonDictionary objectForKey:@"data"];
for (NSDictionary *jsonEntry in jsonArray) {
NSDictionary *fromDictionary = [jsonEntry objectForKey:@"from"];
NSString *userId = [fromDictionary objectForKey:@"id"];
// Continue if it is a post from Atlas
if (userId != nil && [userId isEqualToString:@"10465958627"]){
MyItem *myItem = [[MyItem alloc] init];
// This uncommented causes the leak, why?
myItem.date = [jsonEntry objectForKey:@"created_time"];
[myItem release];
}
}
Спасибо за вашу помощь!
Редактировать: я забыл упомянуть, что MyItem - это просто объект со свойством, подобным этому
@property (nonatomic, copy) NSString *date;