Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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
Ios 将NSAttributedString分配给UILabel很慢?_Ios_Uikit_Uilabel_Instruments_Nsattributedstring - Fatal编程技术网

Ios 将NSAttributedString分配给UILabel很慢?

Ios 将NSAttributedString分配给UILabel很慢?,ios,uikit,uilabel,instruments,nsattributedstring,Ios,Uikit,Uilabel,Instruments,Nsattributedstring,我一直在尝试解决表格视图滚动性能问题。通过仪器的时间分析器运行它,可以看出将NSAttributedString设置为UILabel花费了相当长的时间。这是一个已知的问题吗?如果是,是否有解决办法 我看到一些报告说,NSAttributeString的创建在iOS8上非常缓慢,在iOS9上有所改进,但将其设置为包含UI元素是否也很慢 下面是我的分析的屏幕截图。请注意,视图模型不会动态创建属性字符串,因此您看到的成本纯粹来自分配。当然,UILabel可能会执行昂贵的操作,我不知道如何处理这些操作

我一直在尝试解决表格视图滚动性能问题。通过仪器的时间分析器运行它,可以看出将NSAttributedString设置为UILabel花费了相当长的时间。这是一个已知的问题吗?如果是,是否有解决办法

我看到一些报告说,NSAttributeString的创建在iOS8上非常缓慢,在iOS9上有所改进,但将其设置为包含UI元素是否也很慢

下面是我的分析的屏幕截图。请注意,视图模型不会动态创建属性字符串,因此您看到的成本纯粹来自分配。当然,UILabel可能会执行昂贵的操作,我不知道如何处理这些操作


谢谢你的帮助

在该方法的顶部,您可以检查单元格是否只配置了一次。单元格在滚动时重复使用,因此您可以多次使用相同的视图模型配置单元格,这是不需要的。代码将如下所示

guard self.viewModel !== viewModel else { return }
或 将viewModel.profileInformation.AttributeText与标签上的值进行比较