Как реагировать на неудачную загрузку большого пальца в TTThumbsViewController?
В настоящее время я использую TTThumbsViewController в моем проекте. Я получаю все URL-адреса для TTPhotoVersionLarge и TTPhotoVersionThumbnail из Интернета, поэтому я не могу сказать, будет ли работать URL для изображений большого пальца или нет.
В настоящее время TTThumbsViewController будет просто отображать пустое изображение, если URL-адрес большого пальца не может быть загружен.
Поэтому я хочу получать уведомления, если большой палец не загружается и выполняет дополнительную обработку ошибок, когда это происходит следующим образом:
- Попробуйте загрузить URL для TTPhotoVersionLarge
- Если это снова не удается, отобразите изображение ошибки (которое входит в комплект)
Я посмотрел в коде Three20, но не могу найти подходящее место, где я могу реализовать эту правильную обработку ошибок.
1 ответ
Библиотека Three20 великолепна, но я обнаружил, что часто трудно изменить части их библиотеки, такие как эта. Например, TTThumbsViewController в основном позволяет вам установить только dataSource, а затем позаботится об остальном. Если вы хотите больше контроля, возможно, посмотрите на код, такой как AQGridView: http://quatermain.tumblr.com/post/528737778/aqgridview-lives-for-my-ipad-dev-camp-hackathon
Я решил использовать его в эквиваленте Three20, потому что он дает вам больше контроля над тем, что происходит с вашими данными.
Изменить: В ответ на интенсивное использование TTThumbsViewController вы можете посмотреть на этот метод в TTTHumbsViewController.m:
- (NSString*)URLForPhoto:(id<TTPhoto>)photo {
if ([photo respondsToSelector:@selector(URLValueWithName:)]) {
return [photo URLValueWithName:@"TTPhotoViewController"];
} else {
return nil;
}
}
Похоже, что вы должны быть в состоянии указать другое значение там, пока вы можете найти что-то, чтобы добавить к оператору if, определяющему, произошла ли первоначальная загрузка из dataSource.