【问题标题】:Can't fetch userCKRecordID with Swift无法使用 Swift 获取 userCKRecordID
【发布时间】:2016-11-28 20:10:05
【问题描述】:

我收到错误消息:“'CKDatabase' 类型的值没有成员 'fetchUserRecordIDWithCompletionHandler'。”它是从最新版本的 Xcode 或 swift 3 中取出的吗?

func fetchUserRecords()
    {
        let publicDB = CKContainer.default().publicCloudDatabase
        publicDB.fetchUserRecordIDWithCompletionHandler { (userID, error) -> Void in
            if let userID = userID {
                let reference = CKReference(recordID: userID, action: .None)
                let predicate = NSPredicate(format: "creatorUserRecordID == %@", reference)
                let query = CKQuery(recordType: "Location", predicate: predicate)
                CKContainer.default().publicCloudDatabase.perform(query, inZoneWith: nil){
                    (records, error) in
                    if error != nil {
                        print("error fetching user records: \(error)")
                        completion(error as NSError?, nil)
                    } else {
                        print("found user records")
                        completion(nil, records)
                        guard let records = records else {
                            return
                        }
                        for record in records
                        {
                            //delete records
                        }
                    }
                }
            }  
        }
    }

【问题讨论】:

  • 查看CKContainer 的文档,而不是CKDatabase
  • 我看了一下文档,改成“CKContainer.default().fetchUserRecordID”@rmaddy

标签: ios swift database cloudkit


【解决方案1】:

Swift 3 更改了许多函数调用的名称。新的函数签名是

func fetchUserRecordID(completionHandler: @escaping (CKRecordID?, Error?) -> Void)

编辑:

rmaddy 报告该函数是CKContainer 的函数,而不是CKDatabase

【讨论】:

  • 您遗漏了真正重要的部分。这是CKContainer 的方法,而不是CKDatabase
  • 我还将“publicDB.fetchUserRecordIDWithCompletionHandler...”更改为“CKContainer.default().fetchUserRecordID...”@Duncan C
  • @rmaddy,我从未使用过 CloudKit,所以我没有意识到这一点。不过我看到了你的评论...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多