SwiftUI使用時ColorをUserDefaultsに保存する実装メモ
#環境
- Xcode: 12.0
- Swift5
#実装例
Color→cgColor→RGB値にして保存
let userDefaults = UserDefaults.standard
let color = Color.orange
if let components = color.cgColor?.components {
userDefaults.setValue(components[0], forKey: "RColor")
userDefaults.setValue(components[1], forKey: "GColor")
userDefaults.setValue(components[2], forKey: "BColor")
}
使用時はUserDefaultsからDouble型で値を取り出し、
以下のようにRGBからColorを生成するだけ
let color = Color(.sRGB, red: RColor, green: GColor, blue: BColor, opacity: 1.0)