作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码来用推文填充 UITableView。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *uniqueIdentifier = @"UITableViewCell";
UITableViewCell *cell = nil;
if(!isNewSearch) {
cell = [self.tweetsTable dequeueReusableCellWithIdentifier:uniqueIdentifier];
}
Tweet *tweet = [self.tweets objectAtIndex:[indexPath row]];
if(!cell)
{
isNewSearch = NO;
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:uniqueIdentifier] autorelease];
[[cell textLabel] setTextColor:[UIColor whiteColor]];
[[cell textLabel] setNumberOfLines:0];
[[cell textLabel] setLineBreakMode:UILineBreakModeWordWrap];
[[cell textLabel] setFont:[UIFont fontWithName:@"Futura-Medium" size:10]];
// set custom properties
}
[[cell textLabel] setText:[tweet text]];
[[cell imageView] initWithImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:tweet.profileImageUrl]]]];
return cell;
}
上面的代码需要花费大量时间,因为它正在获取头像。无论如何,我可以使用 block 并在单独的线程上加载头像并使界面更快。
最佳答案
您需要考虑使该调用与 NSURLConnection
及其委托(delegate)方法异步,因为当前 UIImage 调用是在主线程中完成的,因此您的 UI 在下载图像之前不会响应
如果您不想深入研究NSURLConnection
,有一个很棒的库,它可以执行与您尝试对图像和单元格执行的操作类似的操作。它还提供了一些示例代码,您可以直接使用和插入:HJCache: iPhone cache library for asynchronous image loading and caching .
关于ios - 在单独的 iOS 线程上获取 Twitter 头像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7272568/
我是一名优秀的程序员,十分优秀!