UserDefaults に struct のリストを保存する

環境

Xcode 9.4.1, Swift 4.1

UserDefaults に struct を保存する

UserDefaults に sturct を保存する方法として、Dictionary にマッピングする方法がよく紹介されているが、 Swift 4 からは Codable が使える ので、それらを使えばエンコード、デコードすることができる。
また今回はリストを扱いたいため、map を使ってリストの各要素をエンコード、デコードする。

コード

save array of struct to UserDefaults