카테고리 없음

어서와(SwiftUi) AppStorage는 처음이지?

Thor_yeom 2022. 11. 2. 17:14
  • @AppStorage 란 무엇인가? 

-  Swift에서는 앱을 빌드하고 실행할때 메모리에는 String Int형식으로 저장된다.

 

상태변화가 될때 사용하는 @State와  @StateObject랑 차이점은 뭔가요?

A. 앱을 종료하면 메모리가 해제되고 저장되어 있던 데이터를 사라진다. 

 

 

@State를 활용해서 카운트 숫자 올리기

이를  방지하고 데이터를 저장하기 위해 사용되는 것이 @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를 보면 이렇게 나온다. 

Text에 AppStorage를 적어준다.

 

 

 

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 상위 호환이라고 생각한다..)