iOS 실전 (swift)/데이터베이스
[iOS - swift] 3. UserDefaults
jake-kim
2020. 5. 5. 19:33
1. UserDefaults
- 런타임 환경에서 동작하는 객체 (앱이 실행되는 동안 저장소에 접근하여 데이터를 가져오고 기록)
- 싱글톤 패턴
- Concurrency & blocking문제 해결 (UserDefaults는 "in-memory caching"이지만, 동기화 가능)
2. Create
- UserDefaults는 데이터를 "in-memory caching"사용하므로 캐싱된 데이터를 갱신하여 양쪽의 데이터를 갱신해야함, 8번라인
|
1
2
3
4
5
6
7
8
|
/// 객체 참조(싱글톤 객체)
let obj = UserDefaults.standard
/// 쓰기, forKey 파라미터는 무조건 문자열 타입
obj.set("홍길동", forKey: "이름")
obj.set(24, forKey: "나이")
obj.set("남", forKey: "성별")
obj.synchronize() /// 동기화 처리
|
3. Read
- Optional형태로 반환
|
1
2
3
4
|
/// 읽기 - 모두 Optional타입으로 반환( 데이터가 존재하지 않았을 때를 대비)
let name = obj.string(forKey: "이름")
let age = obj.integer(forKey: "나이")
let gender = obj.object(forKey: "성별") as? NSString
|
