Я пытаюсь получить имя текущего пользователя из 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 равен нулю, что создает фатальную ошибку. Кто-нибудь знает, почему currentUserID равен нулю?