Ваше управление памятью нарушено.И вы нарушаете инкапсуляцию.Вы звоните [self.queue release]
.Это проникает в self
и разрушает его, высвобождая что-то, что self
принадлежит.
Если бы я полез в твой живот и выпустил твою печень, это могло бы быть все во благо страны, но этовероятно, будет плохо для вас.Эта концепция известна как инкапсуляция.Концепция объясняется здесь .
Нарушение инкапсуляции вредно по ряду причин и плохо для self
здесь.
Вместо этого просто позвоните self.queue = nil
иsetQueue:
метод выдаст queue
для вас, когда наступит подходящее время (точно так же, как и для arrayOfPhotos
).
[self.queue cancelAllOperations];
self.queue = nil;
self.arrayOfAllPhotos = nil;
Делая шаг назад от подробностей этой проблемы, кажется, что выможет также потратить некоторое время на более глубокое понимание парадигмы MVC.Разговор WWDC 2010 (название сессии: Model-View-Controller для iPhone OS) о нем был фантастическим и его можно найти здесь (вы должны войти в систему).
Обычно этоплохая идея объединять сети с вашим контроллером табличного представления.
Удачи!