Swift UserDefault로 데이터 저장

  • 앞선 글 들에서는 Run Time에서의 데이터 저장만 고려했다.
  • 이번 글에서는 데이터를 영구적으로 저장하는 방법에 대해 알아보겠다.
  • 데이터를 저장하는 방법에는 File, Core Data, Backend DB 등이 있다.
  • 그 중 이 글에서는 plist를 이용해 데이터를 영구적으로 저장하는 방법을 알아보겠다.

UserDefaults 사용하기

  • UserDefaults를 사용하는 방법은 다음 순서를 따른다.
    • UserDefaults를 통해 plist에 데이터를 저장한다.
    • UserDefaults는 사용자의 정보를 저장하는 싱글톤 인스턴스이다.
    • 간단한 사용자 정보를 저장 및 불러오는게 가능하지만, 내부적으로 plist 파일에 저장되기 때문에 보안상 강력하지는 않다.

UserDefaults 주요 항목

  • 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의 주요 항목들을 다음과 같이 사용할 수 있다.
// 데이터 저장
UserDefaults.standard.set("hohyeon", forKey: "userID")
    
// 데이터 불러오기
let aUser:String = UserDefaults.standard.object(forKey: "UserID") as! String 
let bUser:String = UserDefaults.standard.string(forKey: "UserID")!