SwiftUI/SwiftUI 문법

[SwiftUI] @AppStorage 알아보기

hyunjuntyler 2023. 5. 21. 14:26

보통은 앱을 껐다키면 앱에 저장된 데이터들을 따로 저장하지 않는 이상 사라지게 된다. SwiftUI 에서는 UserDefaults 를 통해 간단한 데이터를 앱을 삭제하지 않는 이상 저장할 수 있도록 지원한다. 이 UserDefaults 를 사용하는 방법 중 하나가 @AppStorage 이다. 이름부터 뭔가 앱에 저장을 해줄 것 같은 느낌이 난다.

@AppStorage

사용방법은 정말 간단하다. @AppStorage("name") var userName: String? 형식으로 사용해 주면 된다. "name" 이라는 키로 userName 의 값을 저장한다는 뜻이다. 타입에서 String? 처럼 옵셔널 String 을 사용해 주는 이유는 처음에는 저장하는 값이 없기 때문이다. 초기값을 지정해 준다면  @AppStorage("name") var userName: String = "Tyler" 초기값 "Tyler" 로 설정해 줄 수 있다.

여기서 버튼을 누르게 되면 userName 은 "Jeon" 으로 바뀌게 되고, 앱을 삭제하지 않는 이상 "name" 키에는 "Jeon" 이라는 userName 이 남게 된다. 따로 설정을 하지않아도 편리하게 알아서 저장해준다. UserDefaults 를 사용할 경우 UserDefaults.standard.set("Jeon", forKey: "name") 으로 설정해주어야 한다.

결론

@AppStorage 는 앱에 데이터를 간단하게 저장할 수 있다.