NSUserDefaults 사용법

2019. 7. 10. 14:43 IOS/xcode | IOS

NSUserDefaults 사용법


NSUserDefaults는 공통으로 사용되는 default property를 관리합니다.


데이터의 종류는 int, bool, url, object 형 모든 데이터 저장이 가능하고 앱을 삭제 하기 전까지 유지됩니다. 

다른 클래스 타입의 인스턴스를 저장하기 위해서는 Serialization(직렬화) 과정이 필요합니다.


이번 글은 NSUserDefaults에 데이터를 저장하고 로드해 오는 방법에 대해 적어볼게요.

데이터를 저장하기 위해서는 value, key 쌍으로 저장을 해야 합니다. 여기서 key는 NSString 형태의 string 입니다.


1. 데이터 저장

(1) int

1
2
3
4
5
    NSInteger intValue = 0;
    NSString *key = @"key";
    [[NSUserDefaults standardUserDefaults] setInteger:intValue forKey:key];
    [[NSUserDefaults standardUserDefaults] synchronize];
 
cs



(2) bool

1
2
3
4
    BOOL boolValue = YES;
    NSString *key = @"key";
    [[NSUserDefaults standardUserDefaults] setBool:boolValue forKey:key];
    [[NSUserDefaults standardUserDefaults] synchronize];
cs


(3) object

1
2
3
    NSString *key = @"key";
    [[NSUserDefaults standardUserDefaults] setObject:<object> forKey:key];
    [[NSUserDefaults standardUserDefaults] synchronize];
cs



2. 데이터 로드

(1) int

1
    NSInteger intValue = [[NSUserDefaults standardUserDefaults] integerForKey:@"key"];
cs


(2) bool

1
[[NSUserDefaults standardUserDefaults] boolForKey:key];
cs


(3) object

1
    id *value = [[NSUserDefaults standardUserDefaults] objectForKey:key];
cs


(4) string

1
2
    NSString *key = @"";
    NSString *stringValue = [[NSUserDefaults standardUserDefaults] stringForKey:key];



출처: https://jepark-diary.tistory.com/6?category=874567 [JEP's Diary]