[swift] SwiftyUserDefaults를 사용하여 사용자의 최근 검색 기록을 불러오는 방법은 어떻게 되는가?

먼저, SwiftyUserDefaults 라이브러리를 프로젝트에 추가해야 합니다. Cocoapods를 사용하는 경우, Podfile에 다음과 같이 추가합니다:

pod 'SwiftyUserDefaults'

그런 다음, Terminal에서 pod install 명령을 실행하여 라이브러리를 설치합니다.

이제, UserDefaultsKey 열거형을 만들어 사용자의 최근 검색 기록을 저장할 키를 정의합니다. 예를 들어:

import SwiftyUserDefaults

extension DefaultsKeys {
    static let recentSearches = DefaultsKey<[String]>("recentSearches")
}

이제 최근 검색 기록을 저장하는 메소드를 만들어봅시다:

func saveRecentSearch(query: String) {
    var searches = Defaults[.recentSearches]
    // 최근 검색 기록 배열에 새로운 검색어를 추가합니다.
    searches.append(query)
    // 중복 항목을 제거하거나 최근 순으로 정렬하는 등의 추가적인 로직을 수행할 수도 있습니다.
    // 예를 들어, 최근 10개의 검색어만 유지하고 나머지는 제거하는 경우
    if searches.count > 10 {
        searches.removeFirst(searches.count - 10)
    }
    // 변경된 최근 검색 기록 배열을 저장합니다.
    Defaults[.recentSearches] = searches
}

마지막으로, 최근 검색 기록을 불러오는 메소드를 만들어봅시다:

func loadRecentSearches() -> [String] {
    return Defaults[.recentSearches]
}

이제 saveRecentSearch(query:) 메소드를 사용하여 사용자의 최근 검색 기록을 저장하고, loadRecentSearches() 메소드를 사용하여 불러올 수 있습니다.

참고로, SwiftyUserDefaults는 UserDefaults를 감싸고 있는 편리한 래퍼 라이브러리이며, 사용자 정의 타입을 직렬화/역직렬화할 수 있는 기능도 제공합니다. 자세한 내용은 SwiftyUserDefaults의 공식 문서를 참조하시기 바랍니다. (https://github.com/radex/SwiftyUserDefaults)