Я использую swift и cloudkit, пытаясь получить изображения из облачного сервера, как показано ниже, и я получаю сообщение об ошибке: «Инициализатор условной привязки должен иметь необязательный тип, а не CKAsset» в строке: if let ckAsset = image { , пожалуйста, помогите, поскольку я новой для быстрой и это мое первое приложениеБыстрое получение инициализатора условной привязки должно иметь необязательный тип, почему?
let ckRecord = Saveddata[indexPath.row]
weak var weakCell = cell
backgroundQueue.addOperation {
let image = ckRecord.object(forKey: "Photos") as! CKAsset
if let ckAsset = image {
if let URL = ckAsset.fileURL {
let imagedata = NSData(contentsOf: URL)
OperationQueue.main.addOperation() {
cell.imageView?.image = UIImage(data: imagedata! as Data)
}
}
}
всякий раз, когда вы используете 'if let', правая рука' = 'должна быть * необязательной *. Однако «образ» НЕ является и необязательным. Потому что: в строке перед тем, как вы принудительно развернули изображение, используя 'as! CKAsset' – Honey
поэтому HOw я могу выполнить ту же логику с форсированием изображения как CKAsset – rania
Если вы получите эту ошибку: не используйте 'if let'. Просто используйте 'let'. Хотя лучше использовать' guard' вместо всего принудительного разворачивания – Honey