我创建了具有不同颜色选择的收集视图作为收集单元。现在,当用户选择一个特定的单元格时,该单元格中的cohoe必须保存以在其他地方使用。...
我尝试使用
Userdefaults.standard.set(UIColor, forket:"Default_Color")
但是Userdefaults不会保存UIColor。
您应该在Userdefaults中将字符串另存为UIColoe的HexString。
为此,您应该使用此库,https://github.com/viccalexander/Chameleon
通过使用此库,您可以将hexString作为UIColor的字符串获取并将其存储在Userdefaults中。
并且当您想从Userdefaults中使用该颜色时,可以从Userdefaults中获取hexString作为String并通过使用此库在UIColor中进行转换。
您可以尝试使用此示例。或者,您可以将字符串另存为UIColor的十六进制。
let colArr = [
"Default_Color": ["red": 255.0, "green": 0, "blue": 0, "alpha": 1.0]
]
UserDefaults.standard.set(colArr, forKey: "colArr")
let colArr_new = UserDefaults.standard.value(forKey: "colArr") as! [String: Any]
let Default_Color = colArr_new["Default_Color"] as! [String: Any]
let red = Default_Color["red"] as! CGFloat
let green = Default_Color["green"] as! CGFloat
let blue = Default_Color["blue"] as! CGFloat
let alpha = Default_Color["alpha"] as! CGFloat
let color = UIColor(red: red/255.0, green: green/255.0, blue: blue/255.0, alpha: alpha)
print("\(red) \(green) \(blue) \(alpha) >>>\(color)")