본문 바로가기

난 iOS개발자/iOS

[iOS] UserDefaults 알아보기

728x90

앱이 실행되는 동안 키-값 쌍을 지속적으로 저장하는 사용자 기본 데이터베이스에 대한 인터페이스입니다. 샌드박스 저장을 통해 앱이 제거될 때 까지 지속적으로 저장할 수도 있습니다.


개요

런타임중 UserDefaults 객체를 사용하여 앱이 사용자의 기본값 데이터베이스에서 사용하는 기본값을 읽습니다. UserDefaults는 정보를 캐시하여 기본값이 필요할 때마다 사용자의 기본값 데이터베이스를 열지 않아도 됩니다. 기본값을 설정하면 프로세스 내에서 동기적으로 변경되고 영구 저장소 및 기타 프로세스에 비동기적으로 변경됩니다.

 

샌드박스?

UserDefaults에 저장된 데이터는 앱의 샌드박스 내에 저장됩니다.
샌드박스는 각 iOS 앱에 할당된 고유한 파일 및 데이터 저장 공간입니다. 
샌드박스라는 개념때문에 iOS 환경에서는 다른 앱의 UserDefaults에 액세스할 수 없습니다. 내가 만든 앱도 누군가가 접근하지 못하죠. 샌드박스는 iOS 환경에서 데이터의 보안과 격리를 유지하기 위한 중요한 메커니즘 중 하나입니다.

 

사용방법

UserDefaults는 키-값 쌍으로 데이터를 저장하고 검색하는 데 사용됩니다.

UserDefaults를 사용하려면 먼저 UserDefaults 인스턴스를 만들어야 합니다. 일반적으로는 UserDefaults.standard를 사용하여 기본 UserDefaults 인스턴스를 얻습니다.

let userDefaults = UserDefaults.standard

데이터를 UserDefaults에 저장하려면 다음과 같이 특정 키를 사용하여 값을 설정합니다.

userDefaults.set("안녕하세요, UserDefaults!", forKey: "greeting")

데이터를 가져올 때는 다음과 같이 키를 사용하여 값을 검색합니다.

 

if let greeting = userDefaults.string(forKey: "greeting") {
    print(greeting) // "안녕하세요, UserDefaults!"
}

데이터를 삭제하려면 다음과 같이 removeObject(forKey:) 메서드를 사용합니다.

userDefaults.removeObject(forKey: "greeting")

UserDefaults를 사용하여 간단한 데이터를 저장하고 검색하는 방법을 설명했습니다. 더 복잡한 데이터 구조를 저장하려면 다른 방법을 고려해야 할 수도 있습니다.

728x90

'난 iOS개발자 > iOS' 카테고리의 다른 글

클린아키텍처 적용하기-01 개념과 흐름이해  (2) 2023.12.24
[iOS] Sandbox  (0) 2023.10.30
AppStore 화면 만들어보기  (0) 2022.06.26
HomeBrew설치 그리고 실패  (0) 2022.06.20
COW(Copy On Write)  (0) 2022.05.28