NSUserDefaults 클래스는 공통으로 사용되는 Default Property를 관리한다.

CoreData,SQLite,File 저장 보다는 간단하게 사용이 가능하다.

보통 로그인,설정,Version 정보 불러오기,저장하기에 사용한다.

이 것 또한 결국에는 Plist를 이용한 것이기 때문에

저장가능한 클래스타입은. NSData, NSString, NSNumber, NSDate, NSArray, NSDictionary 만을 지원한다.

다른 타입의 클래스 인스턴스를 저장하기를 원하면 NSKeyedArchiver/NSKeyedUnarchiver를 이용한 Serialization 과정을 거쳐야 한다. 직렬화 과정에 대한 내용은 추후에 다시 설명하기로 한다.

NSUserDefaults에서 사용하는 Property List의 경로는 아래와 같습니다.

/Users/사용자명/Library/Application Support/iPhone Simulator/4.3.2/Applications/15046BBC-D985-4097-BF7D-2B8BA0121EB4/Library/Preferences/appID.plist





Load


Save



위 코드는 Thread Safe한 코드를 구현해 두었는데 굳이 그럴 필요는 없다 간단히
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
인스턴스를 받아서 NSDictionary와 동일하게 사용하면 된다.
저장이 필요할 경우 [userDefaults synchronize] 만 호출하면 된다.


참고 예제 : http://mobile.tutsplus.com/tutorials/iphone/nsuserdefaults_iphone-sdk/

저작자 표시 비영리 변경 금지
신고


티스토리 툴바