Когда я добавляю значение типа «AnyObject?» в словарь типа '[String: AnyObject]' следующим образом, значение не может быть добавлено, что на самом деле то, что я ожидал. Присвоение необязательного типа необязательному типу, по моему мнению, должно завершиться неудачей.Необязательные значения AnyObject в словаре Swift
var myDict : [String : AnyObject] = [ "Key1" : "Value1" as AnyObject? ]
Но почему эта процедура работает, если я сначала инициализирую пустой словарь, а затем добавлю к нему значение?
var myDict = [String : AnyObject]()
myDict["Key1"] = "Value1" as AnyObject?
Я видел этот подход в примере GenericKeychain от компании Apple https://developer.apple.com/library/content/samplecode/GenericKeychain/Introduction/Intro.html
Что такое используемая версия Swift? второй фрагмент кода также дает мне ошибку времени компиляции –
@ Второй фрагмент кода AhmadF отлично работает для меня, Swift 3, Xcode 8.2 – JAL
@JAL Я вижу, в настоящее время я нахожусь на машине, которая использует xcode 7/Swift 2:) –