第一次使用带有SDWebImage的CKAsset - 无法将数据转换为URL

时间:2017-07-19 05:43:34

标签: swift image cloudkit sdwebimage

我在数组中有一个CKRecords数组。使用表格,我希望使用SDWedImage作为记录中一个CKAsset / Image的缓存。

我尝试过的代码:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "restaurantcell") as? RestaurantTableCell

    cell?.dealsicon.layer.cornerRadius = 3

    let restaurant: CKRecord = restaurantArray[indexPath.row]

    let asset = restaurant.value(forKey: "Picture") as! CKAsset

    let data = try! Data(contentsOf: asset.fileURL)    

    cell?.restaurantImage.sd_setImage(with: data)

    return cell!
}

但是,在代码中使用sd时,我收到以下错误,

  

无法将'Data'类型的值转换为预期的参数类型'URL'?。

我该如何修复此错误?

我的常量data是否可以替代数据?

1 个答案:

答案 0 :(得分:1)

如果此片.sd_setImage(with: data)发生错误,则无需从Data获取URL。因为,sd_setImage参数为URL

尝试以下代码,

cell?.restaurantImage.sd_setImage(with: asset.fileURL)