[swift] SwiftyUserDefaults를 사용하여 사용자 검색 기록 관리하기

개요

사용자 검색 기록을 관리하는 것은 많은 앱에서 중요한 기능입니다. 이 기능을 구현하려면 UserDefaults를 사용하여 데이터를 유지하고 검색 기록을 저장 및 불러오는 작업을 수행해야 합니다. 이번에는 SwiftyUserDefaults 라이브러리를 사용하여 편리하게 사용자 검색 기록을 관리하는 방법에 대해 알아보겠습니다.

SwiftyUserDefaults란?

SwiftyUserDefaults는 UserDefaults를 더 쉽게 사용할 수 있도록 도와주는 라이브러리입니다. 이 라이브러리는 Swift의 Property Wrapper를 사용하여 코드를 간결하게 작성할 수 있게 해줍니다.

설치

SwiftyUserDefaults는 Swift Package Manager를 통해 설치할 수 있습니다. Xcode에서 프로젝트를 열고 다음 단계를 따르세요:

  1. File → Swift Packages → Add Package Dependency 선택
  2. 다음 URL을 입력하여 패키지를 추가하세요: https://github.com/sunshinejr/SwiftyUserDefaults.git
  3. 옵션에서 버전 선택 후 Next를 클릭하세요.
  4. 프로젝트 내에서 사용할 타겟을 선택한 후 Finish를 클릭하세요.

사용자 검색 기록 관리하기

먼저, SwiftyUserDefaults를 사용하여 사용자 검색 기록을 저장할 수 있는 구조체를 만들어 보겠습니다.

import SwiftyUserDefaults

struct SearchHistory {
    @DefaultEmptyArray(key: "search_history")
    static var history: [String]
}

위의 코드에서 @DefaultEmptyArray는 SwiftyUserDefaults에서 제공하는 Property Wrapper 중 하나입니다. 이를 통해 UserDefaults에서 해당 키에 대한 배열을 가져올 수 있고, 만약 값이 없으면 빈 배열을 반환합니다.

이제, 사용자가 검색을 수행할 때마다 검색어를 SearchHistory.history에 추가해 보겠습니다. 예를 들어, 사용자가 “Swift”라는 검색어를 입력한 경우:

let searchTerm = "Swift"
SearchHistory.history.append(searchTerm)

마지막으로, 저장된 검색 기록을 불러오고 출력해 보겠습니다.

print(SearchHistory.history)

결론

SwiftyUserDefaults를 사용하여 사용자 검색 기록을 관리하는 방법에 대해 알아보았습니다. 이를 통해 UserDefaults를 더 편리하게 사용할 수 있고, Property Wrapper를 사용하여 코드를 간결하게 작성할 수 있습니다.