Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone-在TableView上缓慢滚动_Iphone_Performance_Uitableview_Scroll_Cell - Fatal编程技术网

iPhone-在TableView上缓慢滚动

iPhone-在TableView上缓慢滚动,iphone,performance,uitableview,scroll,cell,Iphone,Performance,Uitableview,Scroll,Cell,我的表视图的滚动出现问题。我有一个自定义单元格,我加载此代码: if (cell == nil) { [[NSBundle mainBundle] loadNibNamed:@"CustomCellQuartieri" owner:self options:NULL]; cell=customCell; } 这是代码。customCell是一个UITableViewCell对象,具有自己的xib。xib的控制器是放置表格的“我的视图”控制器。我从internet加载2个标签和

我的表视图的滚动出现问题。我有一个自定义单元格,我加载此代码:

if (cell == nil) {

    [[NSBundle mainBundle] loadNibNamed:@"CustomCellQuartieri" owner:self options:NULL];
    cell=customCell;
}
这是代码。customCell是一个UITableViewCell对象,具有自己的xib。xib的控制器是放置表格的“我的视图”控制器。我从internet加载2个标签和一个imageView。有什么问题?我怎样才能使我的定制电池可重复使用?
谢谢

要使自定义单元格可重用,请在Interface Builder中设置标识符属性


谁从internet(异步)加载数据?

由于您使用的是自定义的
UITableViewCell
,因此必须通过Interface Builder设置identifier string属性,然后使用与键相同的字符串,以通常的方式将单元格出列。这样,您的应用程序将不会为表的每一行创建新的单元格,而是将重用已存在的单元格,从而减少生成和显示时间

如果这不能解决问题,您应该查看internet连接,了解数据加载为何如此缓慢。如果您拥有为数据提供服务的服务器,您应该尝试加快它的速度,否则您应该寻找一种不同或更有效的远程加载数据的方法。一些代码示例会很好

编辑
如评论中所述,速度慢可能与远程图像的加载时间有关。您可以尝试构建一个类似的本地字典,在其中保存已加载的图像并将其与URL关联为键,同时远程读取您仍然不拥有的图像。这将像本地缓存一样工作,以缩短远程数据的加载时间。

问题在于必须异步加载图像。在Google上搜索SDWebImages。

在阻止if(cell==nil){…}之后,我加载图像数据。在if(cell==nil)方法之后直接从internet加载数据将阻止应用程序,直到从internet加载所有数据。在异步加载图像时搜索web。代码很简单:我有一个保存在核心数据中的url,并通过以下方式传递此url:imageView.image=[UIImage imageWithData:[NSData dataWithContentsOfUrl:[NSURL URLWithString:myObject.photo]],其中photo是字符串(url)我保存了核心数据。然后速度可能与远程图像的加载时间有关。您可以尝试构建一个类似的本地词典,在其中保存您已经加载的图像,同时远程读取您仍然不拥有的图像。这将像本地缓存一样工作,以缩短远程数据的加载时间。