NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:[getImage objectAtIndex:indexPath.row]]];
cell.imageView.image = [UIImage imageWithData:imageData];
我正在从服务器上获取图像,并将其显示在上UITableView
。我发现滚动非常慢。我该如何删除?
当您调用此代码时:
[[NSData alloc] initWithContentsOfURL:...]
这是通过网络来获取数据。这可能需要几秒钟(或更长时间),而您想要保持每秒60帧的图形。这意味着您的tableView:cellForRowAtIndexPath:
方法应在1/60秒(即16毫秒)内执行,因此网络调用是不可能的。
编写此代码的适当方法是异步加载数据(使用Grand Central Dispatch或其他机制),将其缓存在磁盘上或使用NSCache
,然后通知表视图应重新加载以显示新的可用数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句