首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取CKShare?

如何获取CKShare?
EN

Stack Overflow用户
提问于 2016-11-18 20:42:26
回答 1查看 756关注 0票数 2

我可以通过单击共享生成的链接生成一个共享并正常获取它,但一旦我关闭应用程序并再次打开它,它就全部消失了!我想做的是在没有链接的情况下访问共享.通过打开应用程序,在第一次被接受的共享中加载内容。有人知道怎么做吗?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-19 14:55:24

这样啊,原来是这么回事!首先,您需要获取所需共享的CKRecordZone。

代码语言:javascript
复制
let sharedData = CKContainer.default().sharedCloudDatabase
    sharedData.fetchAllRecordZones { (recordZone, error) in
        if error != nil {
            print(error?.localizedDescription)
        }
        if let recordZones = recordZone {
            //Here you'll have an array of CKRecordZone that is in your SharedDB
        }
    }

现在,您只需要像对常规的CKShare一样获取CKRecord:

代码语言:javascript
复制
func asdasdasa(id: CKRecordZoneID) {

    ctUsers = [CKRecord]()
    let sharedData = CKContainer.default().sharedCloudDatabase
    let predicate = NSPredicate(format: "TRUEPREDICATE")
    let query = CKQuery(recordType: "Elder", predicate: predicate)

    sharedData.perform(query, inZoneWith: id) { results, error in
        if let error = error {
            DispatchQueue.main.async {
                print("Cloud Query Error - Fetch Establishments: \(error)")
            }
            return
        }
        if let users = results {
            print(results)
            self.ctUsers = users
            print("How many shares in cloud: \(self.ctUsers.count)")
            if self.ctUsers.count != 0 {
                // Here you'll your Shared CKRecords!
            }
            else {
                print("No shares found")
            }
        }
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40685615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档