스케줄러가 담당하고 있는 NotificationCenter에서 일어나는 Notification들의 상태 변화에 따른,
사용자의 반응에 따른 AVPlayer의 재생과 재등록을 해주어야하는데 현재의 모델에서는 각각의 객체들의 결합이 뒤섞여버렸음 -> 알람이 계속 추가 삭제되는 무한 루핑버그 발생함. -> 따라서 결합도를 낮추기위해 각각의 담당하는 일에서 발생할 수 있는 상황들을 Notification 을 post해주고 나머지는 해당 observer들이 일처리를 하도록 바꿈.
Logic 수정: nextDate를 지속적으로 Date()(현재시간)과 비교하여 nextDate가 현재시간에 비교하여 ascending (지난 시간)이 되버리면 울려버리는 구조인데 만약 nextDate가 없을땐 한달 후를 설정하여 nextDate가 다가오지 않도록 한다.
스케줄러가 담당하고 있는 NotificationCenter에서 일어나는 Notification들의 상태 변화에 따른, 사용자의 반응에 따른 AVPlayer의 재생과 재등록을 해주어야하는데 현재의 모델에서는 각각의 객체들의 결합이 뒤섞여버렸음 -> 알람이 계속 추가 삭제되는 무한 루핑버그 발생함. -> 따라서 결합도를 낮추기위해 각각의 담당하는 일에서 발생할 수 있는 상황들을 Notification 을 post해주고 나머지는 해당 observer들이 일처리를 하도록 바꿈.