如何应对TTThumbsViewController中失败的拇指图像加载?

时间:2011-06-07 17:44:32

标签: iphone ios error-handling three20 ttthumbsviewcontroller

我目前正在我的项目中使用TTThumbsViewController。我正在从网上获取TTPhotoVersionLarge和TTPhotoVersionThumbnail的所有网址,因此我无法确定拇指图像的网址是否有效。

目前,如果无法加载拇指网址,TTThumbsViewController将只显示一个空图像。

所以我希望在拇指无法加载时收到通知,并在发生这种情况时执行额外的错误处理:

  1. 尝试加载TTPhotoVersionLarge的网址
  2. 如果再次失败则显示错误图像(包含在包中)
  3. 我已经查看了三个代码但找不到合适的地方来实现这个正确的错误处理。

1 个答案:

答案 0 :(得分:0)

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失败。