タイプ「AnyObject?」の値を追加すると、次の方法でタイプ '[String : AnyObject]' のディクショナリに値を追加することはできません。これは実際に私が期待したことです。私の意見では、オプションの型をオプションではない型に割り当てることは失敗するはずです。
var myDict : [String : AnyObject] = [ "Key1" : "Value1" as AnyObject? ]
しかし、最初に空の辞書を初期化してからそれに値を追加すると、なぜこの手順が機能するのでしょうか?
var myDict = [String : AnyObject]()
myDict["Key1"] = "Value1" as AnyObject?
Apple https://developer.apple.com/library/content/samplecode/GenericKeychain/Introduction/Intro.htmlの GenericKeychain の例でこのアプローチを見てきました 。