앱을 실행하는데 있어서, 간단한 설정값이나 데이터를 저장해야할 경우가 있다. 로그인이 필요한 앱의 경우에는 ID와 Password를 저장해야 할 것이고, 기타 설정들이 있을 경우 그 설정값들을 저장할 필요가 있다. 이 경우 별도의 DB를 이용하는 것이 아니라, 간단하게 값을 저장하고 불러와서 사용할 수 있다.


NSUserDefaults를 이용하면 되는데, 나도 자세한 내용은 모르므로 깊이있게 공부하고 싶다면 애플에서 제공하는 NSUserDefaults Class Reference를 참고하고, 여기서는 아주 간단하게 사용법만 소개!(혹시 틀리게 적은 내용이 있다면, 공격하진 마시구 조언 or 코멘트 부탁드립니다)



1. 설정값 저장하는 방법

아래 나와있는 코드처럼 작성하면 된다. setValue의 경우 id 형식으로 모든 데이터 타입을 담을 수 있고, forKey에는 String값으로 해당 데이터의 키값을 정하여 입력하면 된다.

[[NSUserDefaults standareUserDefaults] setValue:데이터 forKey:키값];


예를 들어 userID라는 이름의 textField에 입력되어있는 값을 saveID라는 키값으로 저장하고 싶다면 아래와 같이 입력하면 된다.

[[NSUserDefaults standardUserDefaults] setValue :userID.text forKey:@"saveID"];

 

그리고 Integer값으로 값이 바뀌었는지 안바뀌었는지 여부를 0 혹은 1로 저장하고 싶은 경우(키값은 isChange) 아래와 같이 입력하면 된다.

[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"isChange"];


그리고 아래 코드를 한 줄 더 입력하게 되면 값이 저장되는 듯하다

[[NSUserDefaults standardUserDefaults] synchronize];



2. 설정값 불러오는, 사용하는 방법

저장한 데이터를 불러오는 방법은 더 쉽다. 아래와 같이 한 줄 입력하면 해당 데이터를 바로 사용할 수 있다.

[[NSUserDefaults standardUserDefaultsstringForKey:키값]

[[NSUserDefaults standardUserDefaults] integerForKey:키값]


아까 위에서 저장했던 saveID 키값의 데이터를 불러오고 싶다면

[[NSUserDefaults standardUserDefaultsstringForKey:@"saveID"]


isChange키값의 데이터를 불러오고 싶다면 

[[NSUserDefaults standardUserDefaults] integerForKey:@"isChange"]

코드로 바로 데이터를 사용할 수 있다.



뭣보다 코드가 쉬워서 너무 좋은듯!