Пусть следующий словарь:Как задать тип словаря в хранилище ключей с помощью Swift?
var example: [String: (identifier: String, regex: NSRegularExpression)] = ["test": (identifier: "example", regex: try! NSRegularExpression(pattern: "test", options: []))]
И я хочу, чтобы сохранить его следующим образом:
let keyStore = NSUbiquitousKeyValueStore.default()
keyStore.set(example, forKey: "ex")
Моя проблема заключается в том, что, когда я пытаюсь получить доступ к нему:
let test: [String: (identifier: String, regex: NSRegularExpression)] = keyStore.dictionary(forKey: "ex") as! [String: (identifier: String, regex: NSRegularExpression)]
Я получаю следующая ошибка:
Unwrapped optional value
Почему это?
Это очень странный словарь. Во-первых, вы не можете хранить кортеж в словаре, который вы передадите Objective-C. Почему вы не используете CGSizes? – matt
Также что такое NSUbiquitousKeyStore? Вы имеете в виду NSUbiquitousKeyValueStore? Если да, это даже ваш реальный код? Трудно помочь, если вы не показываете настоящий код. – matt
В первоначальном вопросе он был изменен, чтобы сделать его более общим. Мне не нужно передавать ничего в Objective-C в моем коде. –