Я пытаюсь обновить счет игры в связке ключей, используя популярную библиотеку: Слесарь .
В моем Initial ViewController viewDidLoad()
у меня есть этот код, чтобы изначально установить значение на: 0
do {
try Locksmith.saveData(data:["score" : 0], forUserAccount: "some_unique_game_name")
} catch {
print("Error")
}
Во втором ViewController я инициализировал элемент цепочки для ключей сверху, как показано ниже:
let keychain_data = Locksmith.loadDataForUserAccount(userAccount: "some_unique_game_name")
, а затем в функции для получения результата, который у меня есть.этот код:
NSLog("Score is: \(self.keychain_data!["score"])").
Это возвращает в консоли:
Счет: 0
Теперь у меня есть другая функция, которая устанавливает игруоценка примерно так:
func updateScor(to: score) {
NSlog("score is: \(score)")
do {
try Locksmith.updateData(data:["score" : score], forUserAccount: "some_unique_game_name")
} catch {
print("Error")
}
NSlog("saved score is: \(score)")
}
Что дает мне в журнале:
Оценка: 9999
Сохраненная оценка: 9999
Теперь, когда я снова играю в игру, значение счета все еще устанавливается как:
Счет равен: 0
(Это без возврата к исходномуконтроллер представления, который устанавливает его в 0).
Это должно быть: 9999
Есть идеи?