Swift UserDefault

앞선 글들에서는 Run Time에서의 데이터 저장만 고려했습니다. 이번 글에서는 데이터를 영구적으로 저장하는 방법에 대해 알아보겠습니다.

데이터를 저장하는 방법에는 파일 저장, iOS 데이터베이스 Core Data 이용, Network를 통한 서버 데이터베이스 이용 등이 있습니다. 그 중 이 글에서는 파일 저장 중에서도 Property List 줄여서 plist를 이용해 데이터를 영구적으로 저장하는 방법을 알아보겠습니다.

UserDefaults 사용하기

UserDefaults를 통해 plist에 데이터를 저장할텐데요. 사용자의 정보를 저장하는 싱글톤 인스턴스입니다.

간단한 사용자 정보를 저장 및 불러오는게 가능하고, 내부적으로 plist 파일에 저장되기 때문에 보안상 강력하지는 않습니다.

UserDefaults 주요 항목

open class var standard: UserDefaults { get }
    
// 데이터 불러오기
open func object(forKey defaultName: String) -> Any?
open func string(forKey defaultName: String) -> String?
open func array(forKey defaultName: String) -> [Any]?
    
// 데이터 저장하기
open func set(_ value: Any?, forKey defaultName: String)
    
// 데이터 지우기 
open func removeObject(forKey defaultName: String)

UserDefaults 예제

// 데이터 저장
UserDefaults.standard.set("macker", forKey: "userID")
    
// 데이터 불러오기
let aUser:String = UserDefaults.standard.object(forKey: "UserID") as! String 
let sUser:String = UserDefaults.standard.string(forKey: "UserID")!

관련 글