Проблема при создание словаря с опциональным значением, почему так?

Здравствуйте!
Недавно начал изучать Swift и возник следующий вопрос.
допустим я создал псевдоним словаря:
typealias Dict = [String:(alpha:Character,num:Int)?]

Здесь ключ является строковым типом,а значение представляет из себя опционал кортежа,который свою очередь состоит из элемента символьного типа и целочисленного.
Тогда если я захочу создать словарь с произвольным значением,я напишу:
var dicOne: Dict = ["Key" : ( "V", 1)?]
Но тогда компилятор выдаст ошибку и потребует убрать "?":
var dicOne: Dict = ["Key" : ( "V", 1)]
Может кто-нибудь объяснить почему так?Разве мы не должны указать,что у нас значение не просто кортеж,а опционал кортежа?
Заранее спасибо!
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
@onepavel
Консультация и разработка мобильных приложений
Путаешь понятия Тип и Объект этого типа
typealias Dict = [String:(alpha:Character,num:Int)?]
(alpha:Character,num:Int)? - тут ты объявляешь тип, опциональный картеж
а в этой строке
var dicOne: Dict = ["Key" : ( "V", 1)?]
( "V", 1) - это объект с данными который завернется в опционал

тоже самое только на более простом примере
var str:String? = "hello world"

стоит открыть документацию и посмотреть что представляет из себя опционал
https://medium.com/ios-os-x-development/swift-opti...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы