[swift] SwiftyUserDefaults를 사용하여 사용자의 검색 기록을 저장하는 방법은 어떻게 되는가?

개요

사용자의 검색 기록을 저장하는 기능은 많은 애플리케이션에서 필요한 기능입니다. 이번에는 SwiftyUserDefaults 라이브러리를 사용하여 Swift 언어로 사용자의 검색 기록을 저장하는 방법에 대해 알아보겠습니다.

SwiftyUserDefaults란?

SwiftyUserDefaults는 UserDefaults를 더 쉽고 강력하게 사용할 수 있도록 도와주는 라이브러리입니다. UserDefaults는 iOS에서 기본적으로 제공되는 데이터 저장 방식으로, 간단한 데이터를 저장하고 불러올 수 있습니다. 하지만 SwiftyUserDefaults를 사용하면 UserDefaults를 보다 쉽게 사용할 수 있으며, 타입 안전성을 보장해줍니다.

검색 기록 저장하기

  1. SwiftyUserDefaults 라이브러리를 프로젝트에 추가합니다. 또는 Cocoapods을 사용하여 다음과 같이 Podfile에 라이브러리를 추가합니다.
pod 'SwiftyUserDefaults'
  1. UserDefaults에 사용자의 검색 기록을 저장할 데이터 모델을 생성합니다. 예를 들어, 다음과 같이 SearchHistory라는 구조체를 만들어 사용자의 검색 기록을 저장할 수 있습니다.
import SwiftyUserDefaults

struct SearchHistory {
    static var searchHistory: [String] {
        get { return Defaults[.searchHistory] }
        set { Defaults[.searchHistory] = newValue }
    }
}

extension DefaultsKeys {
    static let searchHistory = DefaultsKey<[String]>("searchHistory")
}
  1. 검색 기록을 저장할 때마다 해당 데이터를 UserDefaults에 저장합니다. 예를 들어, 검색 버튼을 눌렀을 때 검색어를 SearchHistory에 추가하고 UserDefaults에 저장하는 방법은 다음과 같습니다.
let searchKeyword = "Apple"
SearchHistory.searchHistory.append(searchKeyword)
UserDefaults.standard.synchronize()
  1. 검색 기록을 불러올 때는 UserDefaults에서 해당 데이터를 가져와서 사용할 수 있습니다. 예를 들어, 검색 기록을 테이블뷰에 표시하는 경우 다음과 같이 UserDefaults에서 검색 기록을 가져와 사용할 수 있습니다.
let searchHistory = SearchHistory.searchHistory
tableView.reloadData()

결론

SwiftyUserDefaults를 사용하여 사용자의 검색 기록을 저장하는 방법을 알아보았습니다. UserDefaults에 직접 접근하는 대신 SwiftyUserDefaults를 사용하면 타입 안전성을 더욱 보장하면서 간편하게 데이터를 저장하고 불러올 수 있습니다. 다음 번에는 SwiftyUserDefaults를 사용하여 다른 기능을 구현해보는 것도 좋은 아이디어일 것입니다.

참고 자료