我正在将图片字符串转换为URL,但是当我转换它时,我在URL中获取nill vaalue。 这是我的代码:
func tableView(_ tbldata: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tbldata.dequeueReusableCell(withIdentifier: "ServiceCheckCell", for: indexPath) as! ServiceCheckTableViewCell
cell.selectionStyle = .none
//save image in imagestr
let imagestr = (self.data[indexPath.row] as AnyObject).value(forKey:"service_image") as? String
let URLString = imagestr
//convert URLSting into URL
let URL = NSURL(string: URLString!)
cell.service_image.hnk_setImageFromURL(URL! as URL )
return cell
}
答案 0 :(得分:0)
将字符串转换为URL的正确方法是
let url = URL(string: URLString)
不要像上面那样使用NSURL,它应该仍然可以工作,但最好使用URL,因为它是一个结构,并且使用线程更安全。
但是,如果URLString无法形成有效的URL
,则仍然可以返回nil如果无法使用字符串形成URL,则返回nil(例如,如果 该字符串包含在URL中非法的字符,或者是 空字符串)。
所以你可以使用诸如
之类的东西if let url = URL(string: URLString) {
cell.service_image.hnk_setImageFromURL(URL! as URL )
} else {
// fix your string perhaps it needs percent encoding
fatalError("Check your source data")
}