Как реагировать на неудачную загрузку большого пальца в TTThumbsViewController? - PullRequest
0 голосов
/ 07 июня 2011

В настоящее время я использую TTThumbsViewController в своем проекте.Я получаю все URL-адреса для TTPhotoVersionLarge и TTPhotoVersionThumbnail из Интернета, поэтому я не могу сказать, будет ли работать URL для изображений большого пальца.

В настоящее время TTThumbsViewController просто отобразит пустое изображение, если большой палецURL не может быть загружен.

Поэтому я хочу получать уведомления, если не удается загрузить большой палец, и выполнить дополнительную обработку ошибок, когда это происходит следующим образом:

  1. Попробуйте загрузить URL дляTTPhotoVersionLarge
  2. Если это снова не удается, отобразите изображение ошибки (которое входит в комплект)

Я просмотрел код Three20, но не могу найти подходящее место, где я могуреализовать эту правильную обработку ошибок.

1 Ответ

0 голосов
/ 08 июня 2011

Библиотека 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, определяющему, не произошла ли первоначальная загрузка из источника данных.

...