问题描述
我正在使用此代码生成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 (将#修改为@)