使用Cloudkit嵌套异步提取?

时间:2017-02-24 19:17:37

标签: ios swift cloudkit

我对iOS编码相对较新。在过去的一周里,我一直在将CloudKit整合到我的项目中。我想做的一件事是获取当前的用户记录ID。然后,使用该recordID,我想获取该用户的实际记录。目前我正在使用以下代码,这似乎有效:

self.container.fetchUserRecordID() { recordID, error  in
        if error == nil {
            self.userRecordID = recordID
            DispatchQueue.main.async(execute: {
                self.db.fetch(withRecordID: self.userRecordID) { record, error in
                    if error == nil {
                        self.userRecord = record
                    } else {
                        if let error = error as? CKError {
                            print(error)
                        }
                    }
                }
            })
        }
        else {
            if let error = error as? CKError {
                print(error)
            }
        }
    }
但是,这对我来说很麻烦。我的问题有两个:1)一般来说,嵌套异步调用是否可以接受? 2)如果没有,在这种情况下有没有更好的方法来完成我想要做的事情?

谢谢!

0 个答案:

没有答案