2013년 11월 3일 일요일

[iOS] NSUserDefaults 를 사용한 설정값 간단 저장 방법

App 내에서 설정값을 저장하고 싶은데, 파일로 저장하기에는 번거로운 것이 많이 필요하므로, NSUserDefaults를 사용해서, 간단히 저장하는 방법을 정리합니다.

NSUserDefaults 클래스는, 디폴트시스템에 접근할 수 있는 방법을 제공하고 있습니다.
사용자의 기본데이터베이스에 값을 저장하도록 함으로써 간단하게 preference를 설정할 수 있게 하는 것입니다.

사용방법은 아래와 같이 standardUserDefaults를 가져와서 데이터를 셋팅하고 동기화하여 줍니다.

- (void) saveDebugInfoData:(BOOL) value
{
    [[NSUserDefaults standardUserDefaults] setObject:(value?@"YES":@"NO") forKey:SETTINGS_SHOW_DEBUG_INFO];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

그리고, 값을 읽기 위해서는 아래와 같이 읽어 오면 됩니다.

- (void)viewWillAppear:(BOOL)animated
{
    self.debugTextView.hidden = ![[NSUserDefaults standardUserDefaults] boolForKey:SETTINGS_SHOW_DEBUG_INFO];
}

Developer Library에 보시면, 각 데이터 타입에 따라서 Setter/Getter가 준비되어 있습니다.