Я пытался сохранить словарь типа [Int: String] в NSUserDefaults, который работал хорошо, но в последнее время просто не будет. Программа macOS застревает (с загрузчиком радуги), когда метод сохранения вызывается и никогда не восстанавливается.Программа Swift - macOS Застревает при сохранении словаря в NSUserDefaults
Поскольку я был в состоянии сделать это раньше, я подозреваю, что это может иметь какое-то отношение к тому месту, где NSUserDefaults хранится на моем mac (я не знаю, где это).
Вот мой код:
let defaults = NSUserDefaults.standardUserDefaults()
var dict: [Int: String] = [:]
dict[1] = "123512"
dict[2] = "1231232"
dict[3] = "112512"
dict[4] = "1212081"
print(dict)
defaults.setObject(dict, forKey: "cameraOrder")
В настоящее время objectForKey: "cameraOrder" пусто, что я сделал с помощью вызова "по умолчанию удалить [Bundle ID]" на терминале.
Заранее за вашу помощь.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Я думаю, что проблема может, возможно, что-то делать с сохранением типа словаря. Если я запустил этот код:
defaults.setObject("12", forKey: "cameraOrder")
print(defaults.objectForKey("cameraOrder"))
Он работает отлично.
Удивительно, но даже если я сохраняю словарь типа [String: String] он работает (Изменение ключа от 1 до "1")
как вы запрашиваете Youre словарь из NSUserDefaults –
defaults.objectForKey («cameraOrder»), но моя проблема не с выборкой, так как только экономия делает программу вечно застревает , –
@EricAya не могли бы вы взглянуть на ответ, если он будет правильным. –