我对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)如果没有,在这种情况下有没有更好的方法来完成我想要做的事情?
谢谢!