Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] 3. UserDefaults 본문

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
 

 

Comments