Swift アプリバージョンアップでJSON変更(要素追加)対応
現在
class MonthlyCalendarSettingData: Codable {
var disp: Bool = false
var x: Float = 0.0
var y: Float = 0.0
var monthDayColor: ColorRGBA = ColorRGBA()
var paintColor: ColorRGBA = ColorRGBA()
var lineColor: ColorRGBA = ColorRGBA()
var dayofWeekColor: ColorRGBA = ColorRGBA()
}
バージョンアップ
追加要素はオプショナルにしておけば、デコード時に要素がなくても大丈夫。
nilが入る。
追加要素を触るとき気をつけないといけないが、
デコード後にnil時は初期値設定するupdaterを作っておけば良い。
class MonthlyCalendarSettingData: Codable {
var disp: Bool = false
var x: Float = 0.0
var y: Float = 0.0
var monthDayColor: ColorRGBA = ColorRGBA()
var paintColor: ColorRGBA = ColorRGBA()
var lineColor: ColorRGBA = ColorRGBA()
var dayofWeekColor: ColorRGBA = ColorRGBA()
// add Ver 1.1
var nextMonth: Bool? = nil
}
updater example
func updateVersion(_ refillSettingData: RefillSettingData) {
// add Ver 1.1
if refillSettingData.monthCalendar.nextMonth == nil {
print("update Ver 1.1")
refillSettingData.monthCalendar.nextMonth = false
}
}






