Я пишу приложение для iOS и использую библиотеку imageStore для отложенной загрузки изображений и кэширования их в памяти. (https://github.com/psychs/imagestore)
В ViewController я создаю экземпляр imagestore:
imageStore = [ImageStore new];
imageStore.delegate = self;
Когда изображение загружается успешно, imagestore вызывает метод делегата
- (void)imageStoreDidGetNewImage:(ImageStore*)sender url:(NSString*)url
, который выполняет reloadData в tableview для перерисовки ячеек. {{1 }} Все работает хорошо. Но есть проблема: если ViewController didUnload (вернуться в контроллер навигации) и изображение загружено, приложение завершает работу с ошибкой, потому что в хранилище изображений вызывается метод выгруженного ViewController.
Я пытаюсь сделать следующее: 1) в ViewController я помещаю этот код в раздел viewDidUnload:
imageStore.delegate = nil;
imageStore = nil;
2) В imageStore я добавил проверку на ноль:
if(delegate != nil) {
...call delegate method
}
Это работает, но все равно периодически происходит сбой приложения .