Double, Int와 같이 기본적인 타입의 값들은 SwiftUI에서 Defaults System을 통해 간단히 저장 가능하다.
작은 크기의 데이터 저장에만 사용하자.
@AppStorage("number") private var number = 0
@State
와 같이 값이 바뀔 때 자동으로 UI도 업데이트됨@SceneStorage("number") private var number = 0
@AppStorage("이름")
등으로 사용하면 됨extension Color: RawRepresentable {
public init?(rawValue: String) {
guard let data = Data(base64Encoded: rawValue) else{
self = .black
return
}
public var rawValue: String {
do {
let data = try NSKeyedArchiver.archivedData(withRootObject: UIColor(self), requiringSecureCoding: false) as Data
return data.base64EncodedString()
} catch {
return ""
}
}
}