Я использую класс, который загружает файл асинхронно .. работает примерно так
// in AViewController.m
DataGetter *blueFile = [[DataGetter alloc] init];
blueFile.delegate = self;
[blueFile getData:@"http://example.com/blue-file"];
У него есть метод делегата, который выполняет загрузку файла после загрузки
- (void) dataGetterFinished:(DataGetter *)dataGetter
{
// code
}
Это работает нормально в идеальных условиях, но, поскольку мы имеем дело с мобильным устройством, соединения не всегда надежны.Соединение может разорваться на полпути или может быть необычайно медленным.
Поэтому мне интересно, как бы я настроил метод делегата, который срабатывает, скажем, через 10 секунд, который затем отображает ошибку иостанавливает операцию.Должен ли я использовать NSTimer, или NSNotification, или какую-то комбинацию?