У меня есть очень простой класс под названием Профиль.Он содержит NSMutableArray, называемый avatar, который, в свою очередь, содержит UIImages.Этот NSMutableArray объявлен как неатомарный, сохраняйте свойство.Он размещается в методе init профиля следующим образом:
avatar = [[NSMutableArray alloc] initWithObjects:
[UIImage imageNamed:@"image1.png"],
[UIImage imageNamed:@"image2.png"],
[UIImage imageNamed:@"image3.png"],
[UIImage imageNamed:@"image4.png"],
[UIImage imageNamed:@"image5.png"],nil] ;
и высвобождается в методе dealloc профиля.
в моем AppDelegate. У меня есть глобальный объект профиля с именем currentProfile. Он используется в различных файлах.И однажды мне нужно освободить массив аватаров этого объекта, чтобы скопировать его в другой массив.Но копирование никогда не выполняется, потому что я получил ошибку во время выполнения при освобождении массива.Когда я анализирую код, я получаю следующее:
Свойство возвращает объект цели с числом удержания + 0 (ссылка не принадлежит)
Неверное уменьшение числа ссылок объектакоторый в данный момент не принадлежит вызывающему абоненту
Что не так?Почему я не могу выпустить массив?только потому, что он является членом класса?если так, как я могу заменить содержимое массива новым?