Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。"foo"]上記のようなオプショナルな値が入っていた場合のみアンラップしてディクショナリに登録していく処理をもっとシンプルにしたいと考え、いろいろ試していると下記のような挙動を発見しました。処理が無視されているようです。removed.によるとnilの代入は削除を意味しているようです。票2削除ではない今回のような初期化ぽい使い方をしても問題ないでしょうか?「問題ない」をどのように捉えるかによります。ご自身が確かめられたように、現在のSwiftで、そのコードの書き方なら問題ないようです。Anyはnilを含む任意の値を格納しうる型なので、今後のSwiftでも確実にそのような動作になるか、と言うのはリンク先の記載からは読み取れません。ほとんど同じ意味のはずと思われているこちらのコードは、以下のような結果になります。Optional("foo")]Swiftのnilには実際には型があって、String?型のnilとAny?型のnilは別物なので、「Any?型のnilではなくString?型のnilを代入しているのに、そのような動作になるのはバグではないか?」と言うバグ報告が上がったら、「修正」される可能性もありそうです。NSNullという仕様が取り込まれています。Any]がObjective-C側にNSDictionaryとして渡される場合、String?型のnilがNSNullにならずに、エントリー削除になってしまうのは、この仕様とも相性が悪そうです。この辺り、swift.orgに投稿すれば(英語でってことになりますが)、Swift言語開発Teamのメンバーから直接意見をもらえるかもしれません。「値がnilの場合にはエントリー自体を追加したくない」と言う場合、面倒がらずに上のように書いた方が良いように思われます。(将来のSwiftのバージョンで動作が変更になった場合、表に現れる影響から原因を探るのはかなり大変になりそうです。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。nilですというエラーが表示されます。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。