Swiftこんにちは、@akio0911です。SwiftのCodableで後からキーを追加した場合の挙動についてメモっておこうと思います。旧バージョンでJSONを出力するまずはnameプロパティだけを持つPersonというstructを作り、そのインスタンスをJSON形式にエンコードしてみます。{print(error.localizedDescription)}実行結果は以下のようになります。{"name":"akio"}新バージョンでデコードしてみる(非オプショナル)Personにプロパティage(非オプショナルのInt)を追加し、先ほどエンコードしたJSONを読み込んでみます。{print(error.localizedDescription)}実行結果は以下の通り。JSONの中にageというキーが無いため、エラーとなっています。missing.新バージョンでデコードしてみる(オプショナル)PersonのプロパティageをオプショナルのIntに変更し、先ほどと同じJSONを読み込んでみます。{print(error.localizedDescription)}実行結果は以下の通り。今回はエラーになりませんでしたが、ageの値はnilとなっています。追加したプロパティが非オプショナルだった場合、エラーとなる追加したプロパティがオプショナルだった場合、対応する値はnilとしてデコードされるという挙動になりました。この記事を書いた人あきお(@akio0911)iOSエンジニア、ブロガー。「プログラミングで人々を幸せに」をテーマに活動中。iPhoneレッスンノート」など。東京・大阪にてアプリ開発講座「アプリクリエイター道場」を主催。技術顧問(インタビュー記事)。ブログ「卵は世界である」を運営。Swift4.1+Xcode9.3対応」NEXT【WWDC2018】iOSエンジニア的に気になる新機能・新APIまとめこんな人がブログを書いていますあきお(@akio0911)です。アプリ開発者・ブロガーをやってます。iPhoneアプリ「DrawFrame」「CellMemo」「PictCheck」などを開発。iPhoneレッスンノート」など。ブログ「卵は世界である」「拡張現実ライフ」を運営。未経験者向けのiPhoneアプリ開発講座「アプリクリエイター道場」を東京や大阪などで開講しています。(イケメン)製作所さんでメンズマツエクやメンズメイクなどを体験してきた代表の手塚拓海さんからお誘いをいただき、粋華男(イケメン)【入門】プログラム・プログラミング・プログラミング言語とは?こんにちは、@akio0911です。今回は「プログラム」「プロ【入門】プログラミング未経験者向けのプログラミング入門連載記事を始めますこんにちは、@akio0911です。【RxSwift】BehaviorRelayとPublishRelayについてまとめてみたこんにちは、@akio0911です。【Swift】Codableで後からキーを追加した場合の挙動"鳥は卵の中からぬけ出ようと戦う。生まれようと欲するものは、一つの世界を破壊しなければならない。