티스토리 뷰

 

영양제 전체 목록 테이블과, 복용 여부 테이블이 나뉘어져 있는데 사용자가 영양제를 삭제하면 복용 여부 테이블에는 남아있는데 영양제 실체는 사라져서 ‘-1개 남았어요’ 이런 식으로 나타는 오류가 있었습니다. 그렇다고 영양제 복용 여부에서도 삭제해버리면 과거에 먹었던 것도 기록이 사라지는 문제가 있었습니다.

 

✅ 영양제목록 테이블에 기본값이 nil인 deleteDate컬럼을 추가해서 사용자가 삭제하면 현재 Date 값을 update 해주었습니다.

사용자가 캘린더 날짜를 클릭해서 그 날 먹어야했던 영양제를 조회할 때 영양제의 deleteDate <= 선택한 날 이면 삭제했다고 처리하고, deleteData > 선택한 날 > regDate 이면 영양제가 있다고 처리했습니다.

final class RealmSupplement: Object {
    @Persisted(primaryKey: true) var id: UUID   // PK
    @Persisted var regDate: Date                // 영양제 등록일
    @Persisted var name: String                 // 영양제 이름
    @Persisted var days: List<Int>              // 영양제 복용 요일
    @Persisted var times: List<Date>            // 영양제 복용 시간
    @Persisted var deleteDate: Date?            // 영양제 삭제일

    convenience init(name: String, days: List<Int>, times: List<Date>) {
        self.init()
        self.regDate = Date()
        self.name = name
        self.days = days
        self.times = times
        self.deleteDate = nil
    }
}
댓글
최근에 올라온 글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함