1

次のコードを使用して、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 である理由を知っている人はいますか?

4

2 に答える 2