UserDefaults
저번 포스팅 코어 데이터(Core Data)와 내용이 이어집니다!
https://daesungstudy.tistory.com/94
UserDefaults 또한 디스크에 데이터를 저장할 수 있게 돕는 도구임
특징으로는
Core Data 보다 사용성이 간단 함
대량의 데이터를 담을때에는 Core Data가 적절하지만,
비교적 단순한 데이터를 담는 데에는 UserDefaults가 적절하다.
그러면 UserDefaults의 CRUD에 대해서도 알아볼까?
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// CRUD : C
UserDefaults.standard.set("010-3213-2432", forKey: "phoneNumber")
// CRUD : R
let phoneNumber = UserDefaults.standard.string(forKey: "phoneNumber")
print("저장된 전화번호: \(phoneNumber)")
// CRUD : U
// 같은 키에다가 set 을 하면 됨.
UserDefaults.standard.set("010-6666-7777", forKey: "phoneNumber")
let newPhoneNumber = UserDefaults.standard.string(forKey: "phoneNumber")
print("바뀐 전화번호: \(newPhoneNumber)")
// CRUD : D
UserDefaults.standard.removeObject(forKey: "phoneNumber")
print("전화번호가 남아있는가: \(UserDefaults.standard.string(forKey: "phoneNumber"))")
}
}
요렇게 간단하게 표현할 수 있음
Core Data 파일을 만들고, entity를 지정하고, attribute를 지정하고 코드 제너레이트 하고...
NSpersistentContainer를 사용해서 데이터를 불러오는 과정보다는
이게 더 훨씬 더 플로우가 간단하죠?
근데 한 가지 알아야 할 점이 있음
UserDefaults 안에는 원시타입 "int, string, bool"밖에 못 들어감...
Q -> 그러면 Class, struct 안에 있는 값 들은 UserDefaults 안에는 못 넣는거야?
그건아님. JSON을 통해 "인코딩"해서 값을 넣어줄 수 있긴함
이외의 내용들은 더 공부해서 내용 채워 넣겠슴당!
'Swift' 카테고리의 다른 글
Swift 싱글톤 패턴 (0) | 2024.07.14 |
---|---|
(CS) 네트워크 대비 지식쌓기 (2/2) (0) | 2024.07.12 |
Swift CoreData (0) | 2024.07.10 |
ARC와 MRC (0) | 2024.07.09 |
(CS) 네트워크 대비 지식쌓기 (1/2) (0) | 2024.07.07 |