NSUserDefaults

 

iOS의 NSUserDefaults는 안드로이드의 "SherePreference"와 비슷하게 간단하게 데이터를 저장하고 사용할수 있게 해주는 함수이다.

 

데이터를 저장할때는 보통 SQLite같은 DB 나 별도의 파일을 떠올리는데, 이 함수를 이용하면 간단하게 데이터를 저장 및 사용할수 있으며

 

이 함수로 저장한 값은 실제로는 plist에 저장이 되기 때문에 단순히 앱을 종료한다고 해서 데이터가 사라지지는 않는다.

 

 

[사용법 - 데이터 저장]

 

NSUserDefaults *myPrefs = [NSUserDefaults standardUserDefaults]; //초기화


[myPrefs setObject:@"저장값" forKey:@"저장키"]; // 저장키 이름으로 스트링형태의 저장값을 저장함


 

// 다른 타입의 값을 저장할때 setObject 대신 사용
setInteger : Integer

setDouble : Double

setFloat : Float

 

[myPrefs synchronize]; // 저장 동기화

 

 

저장할때 가장 중요한것이 동기화이다.

C언어의 flush 처럼 동기화를 하면 바로 데이터 저장이 수행이 되기 때문이다.

일정 시간이 지나거나 앱이 종료될때 데이터가 저장이 되긴 하지만, 명시적으로 저장을 하기 위해서는 동기화를 수행하는것이 좋다.

 

 

 



[사용법 - 데이터 읽기]


NSUserDefaults *myPrefs = [NSUserDefaults standardUserDefaults]; //초기화


NSString *myString = [myPrefs stringForKey:@"저장키"]; // 저장키에 들어있는 스트링형태의 값을 읽어옴


// 다른 타입의 값을 읽어올때 stringForKey 대신 사용
integerForKey : Integer

doubleForKey : Double

floatForKey : Float

 

간단한 데이터를 저장할때 유용하게 사용이 되지만, plist에 저장이 되는값의 경우는 아이폰 탈옥을 통해서 쉽게 해킹이 가능하기 때문에, 중요한 데이터는 암호화 작업을 통해 별도의 DB나 파일로 저장하는것을 추천합니다. ^^




Posted by 인터레스트
,