使用 CloudKit 和 Swift 检索图像

Posted

技术标签:

【中文标题】使用 CloudKit 和 Swift 检索图像【英文标题】:Retrieving an image using CloudKit and Swift 【发布时间】:2017-03-11 18:06:12 【问题描述】:

我是 CloudKit 的新手。

我想知道如何从数据库中仅检索一张图像。我创建了一个新的记录类型,并在其中添加了一个名为 EventsImage 的资产类型。现在我想检索此图像并将其放置在我的视图控制器上的 ImageView 中。这是 View 外观的图像(它不是 tableViewController)。

(中间有一个ImageView)

【问题讨论】:

【参考方案1】:

这是我从数据库中恢复图像的 sn-p。我使用记录 ID 获取 CKRecord。

self.publicDatabase.fetch(withRecordID: recordID, completionHandler:  (record: CKRecord?, error: Error?) -> (Void) in
    guard let record = record else
    
        if let error = error
        
            DispatchQueue.main.async 
            
                completionHandler(SeeYuuResult.error(message: error.localizedDescription))
            
        

        return
    

    // Here is where the image is recovered
    if let asset = record["avatar"] as? CKAsset, let data = try? Data(contentsOf: asset.fileURL)
    
        DispatchQueue.main.async 
        
        avatar_image = UIImage(data: data)
        
       
)

【讨论】:

以上是关于使用 CloudKit 和 Swift 检索图像的主要内容,如果未能解决你的问题,请参考以下文章

swift Swift - CloudKit - 图像和大文件(资产)

Swift 3 使用 CKAsset 将图像发送到 CloudKit

CloudKit 上的 CKReference 使用 Swift

SWIFT/CloudKit - 更新记录并将其保存回容器

在 CloudKit 中将图像存储为 CKAsset,图像倒置

如何在 Swift 中从 CloudKit 中删除资产?