在UIImageView上设置UIImage需要很长时间

问题描述

我正在使用此代码生成QRCode

library(rvest)
webpage <- read_html(url)
commodities <- webpage %>%
  html_nodes("pre") %>%
  html_text() %>% str_replace_all(c("\\r\\n"="\n","-+\n\n+|\n \n"=""))

生成过程在后台线程(func generateQRCode(from string: String,completion: @escaping (UIImage) -> ()) { DispatchQueue.global(qos: .background).async { let data = string.data(using: String.Encoding.ascii) if let filter = CIFilter(name: "CIQRCodeGenerator") { filter.setValue(data,forKey: "inputMessage") guard let qrImage = filter.outputImage else { completion(UIImage(named: "default")!); return; } let transform = CGAffineTransform(scaleX: 10,y: 10) completion(UIImage(ciImage: qrImage.transformed(by: transform))); return; } completion(UIImage(named: "default")!) } } )上执行。 但是,当调用完成函数时,只需将图像设置为imageView的一行大约需要0.7秒,并且由于它正在操纵视图,因此必须在MainThread上完成。

下面是设置结果的代码:

DispatchQueue.global(qos: .background)

上述闭合中的单行仅需0.7秒。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...