【发布时间】:2019-02-12 00:47:06
【问题描述】:
下面是我需要获取图像的基于 url 的代码。 但是 url 不是 nil 而是双引号 "" 或空字符串。 因此,我如何处理在 swift 中检查双引号。
DispatchQueue.global(qos: .background).async { [weak self] () -> Void in
if let url = NSURL(string: arr[indexPath.row].imgl){
if let data = NSData(contentsOf: url as URL) {
DispatchQueue.main.async {
cell.img.image = UIImage(data: data as Data)!
}
}
}
}
如果 url 是 "" 那么它应该转到 else 部分。
【问题讨论】:
-
你能告诉我们你的json吗?
-
@pkc456 - url 是存储在数组中的字符串 - arr ( arr[indexPath.row].imgl )
-
共享你的数组保存的字典
-
你的问题在arr,请给arr
-
无关,但
[weak self]毫无意义。DispatchQueue闭包不会导致保留周期。并且不要在 Swift 中使用NSURL和NSData,使用原生的URL和Data。并且从不从具有同步Data(contentsOf的远程 URL 加载数据,即使在后台线程中也不行。