次のコードを使用して、CloudKit から現在のユーザーの名前を取得しようとしています。
func getUserFirstName() -> String{
var firstNameFromFunction: String?
var currentuserID : CKRecordID?
container.fetchUserRecordID(completionHandler: {
userID, error in
if ((error == nil)) {
self.currentuserID = userID!
}
})
container.discoverUserInfo(withUserRecordID: currentuserID!, completionHandler: {userInfo, error in
let firstNameFromFunction = (userInfo!.displayContact?.givenName)!
})
return firstNameFromFunction!
}
ただし、実行すると、currentUserID は nil になり、致命的なエラーが発生します。currentUserID が nil である理由を知っている人はいますか?