Почему вы выделяете объект, подобный этому FacebookLikes* countValues=[[FacebookLikes alloc]init]
, а затем присваиваете этой же переменной экземпляр внутри массива с этим кодом countValues=[facebook_LikesArray objectAtIndex:i]
, а позже вы освобождаете его с этим [countValues release]
?Вы не знаете, что делаете.
Попробуйте изменить это:
FacebookLikes* countValues=[[FacebookLikes alloc]init];
countValues=[facebook_LikesArray objectAtIndex:i];
на это
FacebookLikes* countValues = [facebook_LikesArray objectAtIndex:i];
и удалите все вхождения [countValues release]
.Сделайте то же самое для friendsRecord
во втором цикле for.Кроме того, что такое [wall release]
?Удалите его!
Вы не должны выделять ни один из этих объектов, потому что вы фактически получаете их из этого массива, а не создаете новый экземпляр.Это просто создает утечку в вашем коде.Вы не должны освобождать какие-либо из этих объектов, потому что они хранятся в массиве, и он отвечает за их освобождение всякий раз, когда они удаляются из массива или после уничтожения / освобождения массива.Пожалуйста, rtfm