如何在 SwiftUI 中高效缓存 CKRecords

问题描述 投票:0回答:1

我正在构建一个使用 CloudKit 的 SwiftUI 社交照片共享应用程序,其中用户个人资料(包括用于个人资料图片的 CKAsset)显示在整个应用程序中。为了减少跨多个视图的配置文件的冗余获取,我尝试将配置文件 CKRecord 的缓存实现到自定义模型中。 (对于处理用户个人资料图片的 CKAsset 非常重要,确保它已从 CloudKit fileURL 暂存区域移出)

这是我目前的方法:

struct UserProfileModel: Identifiable {
    let id: String
    let displayUsername: String
    var profilePicture: UIImage? = nil
}

class UserProfileCache: ObservableObject {
    static let shared = UserProfileCache()
    @Published var cache: [UserProfileModel] = []
}

我正在寻找有关如何有效构建此缓存的指导。具体来说,这种方法是否有任何我可能会忽略的问题?

预先感谢您的帮助!

swiftui cloudkit
1个回答
0
投票

您不需要手动完成。 CloudKit Sync 已经足够了。

将核心数据存储与 CloudKit 同步

© www.soinside.com 2019 - 2024. All rights reserved.