유저 디폴트의 값이 변경되면 자동으로 뷰의 바디를 refreash 한다.
UserDefaults 클래스는 사용자의 기본적인 데이터베이스 인터페이스로 key value 페어로 데이터를 저장한다. 작은 범위의 데이터를 저장하는 용도로 사용된다.
런타임중 객체를 사용해서 사용자의 데이터베이스에서 사용하는 기본값을 읽습니다.
유저 디폴트는 값을 필요로 할 때마다 사용자의 기본 데이터베이스를 열지 않아도 가능하게 정보를 캐시한다.
주로 다음의 데이터들을 담는다.
Default System에 접근할 수 있는 인터페이스를 제공하는 클래스입니다.
•
버튼의 토글 상태
•
UserDefaults를 사용하면 앱의 어느 곳에서나 데이터를 쉽게 읽고 저장할 수 있게됩니다 :)
클래스는 float, double, integer 및 boolean과 같은 공통 유형에 액세스하기위한 메소드를 제공할 뿐만아니라, NSData, NSString, NSNumber, NSDate, NSArray 또는 NSDictionary 유형의 객체를 저장할 수도 있어요!
(다른 객체 유형의 경우 NSKeyedArchiver를 사용하여 데이터를 저장하고 검색해야합니다.)
그럼 이를 바탕으로 간단한 예제 어플리케이션을 만들어보도록 하겠습니다.
UserDefaults는
사용자 기본 설정과 같은 단일 데이터 값에 적합합니다.
사용법
데이터 저장과 불러오기
UserDefaults.standard.set(value, forKey: "CustomKey") // Save
UserDefaults.standard.value(forKey: "CustomKey") // Load
Swift
복사
데이터를 불러올 때는 옵셔널 타입이 반환됨에 주의하자.
var data = "String data"
UserDefaults.standard.set(data, forKey:"stringData")
var loadedData = UserDefaults.standard.value(forKey: "stringData") as! String
Swift
복사
이와 같이 데이터를 불러와서 사용할 때에는 저장된 데이터에 맞게 캐스팅을 해주어야 한다
let loadedData = UserDefaults.standard.string(forKey: "stringData")
Swift
복사
캐스팅하지 않고 이런 식으로 작성하면 위와 같이 값을 제대로 사용할 수 있다.
사용법.