5minho / DreamRecorder

mino & bran BoostCamp Project
6 stars 0 forks source link

날짜별 꿈 데이터를 불러오는 부분 #59

Closed 5minho closed 6 years ago

5minho commented 6 years ago

year, month 구하는 부분에서 중복코드가 많음

5minho commented 6 years ago

달 별로 날짜별 꿈 데이터를 가져오는 방법에서 두 날짜 사이의 꿈 데이터를 검색할 수 있는게 더 좋다고 판단하여 yy-MM-dd ~ yy-MM-dd 사이의 꿈 데이터를 검색하는 것으로 방식을 바꿨다.

이에 따른 변경으로 전에 구현해 놓은 cacheManager를 대폭 수정해야 하여 일단 cacheManager는 sqlite cache에 대해 더 공부하고 구현하는 것으로 계획을 바꿨다.

여러 클래스 사이의 서로 의존도가 클때 생기는 문제점을 확실하게 배울 수 있는 부분이었다.

DreamListViewController 에 currentDatePeriod 이란 연산프로퍼티를 두어서 이 튜플값 사이의 날짜에 해당하는 꿈들만 사용자에게 보여주기로 했다. 첫 화면은 해당 달의 1일 부터 현재까지로 날짜 기간을 정했고 이 날짜는 네비게이션 버튼으로 사용자가 조절할 수 있다.

var currentDatePeriod : (from: Date, to: Date) = {

        guard let from = DateParser().firstDayOfMonth(date: Date()) else {
            return (Date(), Date())
        }

        return (from, Date())

    }(){

        didSet {

            DreamDataStore.shared.select(period: currentDatePeriod)
            self.tableView.reloadSections(IndexSet(integersIn: 0...0), with: .automatic)

        }

    }