[swift] SwiftyUserDefaults를 사용하여 사용자 동영상 재생 기록 관리하기

사용자의 동영상 재생 기록을 효과적으로 관리하고 저장하기 위해 SwiftyUserDefaults를 사용할 수 있습니다. SwiftyUserDefaults는 Swift로 작성된 직관적이고 간결한 UserDefaults 래퍼입니다. 이 라이브러리를 사용하면 사용자의 기록을 쉽게 저장, 로드 및 업데이트할 수 있습니다.

SwiftyUserDefaults 설치

SwiftyUserDefaults를 사용하기 위해 CocoaPods를 설치해야 합니다. Podfile에 다음과 같은 내용을 추가하고, pod install 명령을 실행하세요.

pod 'SwiftyUserDefaults'

동영상 재생 기록 저장 및 로드

SwiftyUserDefaults를 사용하여 동영상 재생 기록을 저장하고 로드하기 위해 다음과 같은 코드를 작성할 수 있습니다.

import SwiftyUserDefaults

// 동영상 정보 구조체
struct VideoInfo: Codable {
    let title: String
    let duration: Int
    // 추가적인 동영상 정보들
}

// 동영상 재생 기록 저장
func saveVideoPlayback(videoInfo: VideoInfo) {
    var videoPlaybacks = Defaults[\.videoPlaybacks]
    videoPlaybacks.append(videoInfo)
    Defaults[\.videoPlaybacks] = videoPlaybacks
}

// 동영상 재생 기록 로드
func loadVideoPlaybacks() -> [VideoInfo] {
    return Defaults[\.videoPlaybacks]
}

위의 코드에서 VideoInfo는 동영상의 제목과 재생 시간 등의 추가 정보를 포함하는 구조체입니다. saveVideoPlayback 함수는 기존의 동영상 재생 기록 배열에 새로운 동영상 정보를 추가하고 저장합니다. loadVideoPlaybacks 함수는 저장된 동영상 재생 기록을 로드하여 반환합니다.

동영상 재생 기록 업데이트

동영상 재생 기록을 업데이트하기 위해서는 해당 동영상의 정보를 찾아 업데이트하는 메서드를 구현해야 합니다. 예를 들어, 동영상의 재생 시간이 변경된 경우 다음과 같은 코드를 작성할 수 있습니다.

// 동영상 재생 시간 업데이트
func updateVideoPlaybackDuration(title: String, duration: Int) {
    var videoPlaybacks = Defaults[\.videoPlaybacks]
    if let index = videoPlaybacks.firstIndex(where: { $0.title == title }) {
        videoPlaybacks[index].duration = duration
        Defaults[\.videoPlaybacks] = videoPlaybacks
    }
}

위의 코드에서 updateVideoPlaybackDuration 함수는 title이 일치하는 동영상 정보를 찾아 재생 시간을 변경하고, 변경된 배열을 다시 저장합니다.

결론

SwiftyUserDefaults를 사용하면 간단하고 효과적으로 사용자의 동영상 재생 기록을 관리할 수 있습니다. SwiftyUserDefaults의 강력한 기능을 활용하여 사용자 경험을 향상시키고 동영상 관련 애플리케이션의 개발 속도를 향상시킬 수 있습니다. 자세한 내용은 SwiftyUserDefaults GitHub 저장소를 참조하세요.