- @AppStorage 란 무엇인가?
- Swift에서는 앱을 빌드하고 실행할때 메모리에는 String과 Int형식으로 저장된다.
상태변화가 될때 사용하는 @State와 @StateObject랑 차이점은 뭔가요?
A. 앱을 종료하면 메모리가 해제되고 저장되어 있던 데이터를 사라진다.
이를 방지하고 데이터를 저장하기 위해 사용되는 것이 @AppStorage 이다.
사용예시
@AppStorage("고유한 값")을 넣어주면 된다.
import SwiftUI
struct ContenttView: View {
//앱을 껐을때도 현재 시간이 저장 될 수 있도록 @AppStorage 사용한다.
@AppStorage("SavedText") var text: String = ""
var body: some View {
Text("여기는 : \(text)")
.font(.largeTitle)
}
}
struct ContenttView_Previews: PreviewProvider {
static var previews: some View {
ContenttView()
}
}
preView를 보면 이렇게 나온다.
body에 TextField를 사용하여 사용자에게 입력을 받는다.
import SwiftUI
struct ContenttView: View {
//앱을 껐을때도 현재 시간이 저장 될 수 있도록 @AppStorage 사용한다.
@AppStorage("SavedText") var text: String = ""
var body: some View {
Text("여기는 : \(text)")
.font(.largeTitle)
TextField("사용자 입력", text: $text)
}
}
struct ContenttView_Previews: PreviewProvider {
static var previews: some View {
ContenttView()
}
}
오늘의 결론 : AppStorage는 앱의 데이터를 계속 유지하고 싶을때 사용하면 된다. ( 개인적으로 UIKit의 userdefaults 상위 호환이라고 생각한다..)