[swift] SwiftyUserDefaults를 사용하여 사용자 쇼핑 카트 관리하기

쇼핑 애플리케이션을 개발 중이고 사용자의 쇼핑 카트 정보를 저장하고 관리해야 한다고 가정해봅시다. 이를 위해 SwiftyUserDefaults라는 유용한 라이브러리를 사용하여 사용자 카트 데이터를 쉽게 저장하고 호출할 수 있습니다.

SwiftyUserDefaults란?

SwiftyUserDefaults는 iOS 및 macOS에서 UserDefaults를 사용하는 방식을 더욱 간편하게 만들어주는 라이브러리입니다. Swift의 타입 안전성을 유지하면서 UserDefaults를 사용할 수 있습니다.

설치

SwiftyUserDefaults는 Cocoapods를 통해 설치할 수 있습니다. Podfile에 다음과 같이 추가하여 설치합니다.

pod 'SwiftyUserDefaults'

그리고 터미널에서 프로젝트 경로로 이동한 뒤 pod install 명령어를 실행하여 라이브러리를 설치합니다.

사용 방법

  1. Cart 모델 생성하기

먼저 카트 모델을 생성합니다. 카트에는 사용자가 추가한 여러 상품들의 정보가 포함되어야 합니다. 다음은 간단한 Cart 모델의 예입니다.

struct Cart: Codable {
    var items: [Product]
}

struct Product: Codable {
    var name: String
    var price: Double
    // 추가적인 상품 정보
}
  1. SwiftyUserDefaults 설정하기

SwiftyUserDefaults를 사용하기 위해 AppDelegate.swift 파일에서 다음과 같이 설정해줍니다.

import SwiftyUserDefaults

extension DefaultsKeys {
    static let cart = DefaultsKey<Cart?>("cart")
}
  1. 카트 정보 저장하기

상품이 카트에 추가될 때마다 카트 정보를 UserDefaults에 저장합니다.

var cart = Cart(items: [])

// 카트에 상품 추가
let newProduct = Product(name: "MacBook Pro", price: 1999.99)
cart.items.append(newProduct)

// UserDefaults에 카트 정보 저장
Defaults[.cart] = cart
  1. 카트 정보 불러오기

카트 정보를 다시 불러오고 필요한 곳에서 사용할 수 있습니다.

if let cart = Defaults[.cart] {
    // 카트 정보 사용하기
    for item in cart.items {
        print(item.name)
    }
}

결론

SwiftyUserDefaults를 사용하면 Swift의 타입 안전성을 유지하면서 간편하게 UserDefaults를 사용할 수 있습니다. 위 예제에서는 사용자의 쇼핑 카트 정보를 저장하고 불러오는 방법을 소개했습니다. SwiftyUserDefaults를 사용하면 더욱 편리하게 사용자 데이터를 관리할 수 있으니, 참고해보세요.


참고: SwiftyUserDefaults GitHub 페이지