Open feldblume5263 opened 1 year ago
해당 resetModule 코드가 단순히 HomeViewController의 viewWillAppear에서 작동하기 때문에 두가지 문제가 발생합니다.
실제로 값이 바뀌지 않더라도 홈으로 돌아오면 무조건 다시 그리게 됩니다.
앱이 시작했을 때, layout 부분이 두번 실행됩니다. (viewDidLoad에도 있으므로)
public func resetModule() { viewModel.indexOfDate.value = 0 viewModel.indexOfCafeteria.value = 0 viewModel.currentCampus.remove(observer: self) campusSelectView.removeFromSuperview() dateSelectView.removeFromSuperview() cafeteriaSelectView.removeFromSuperview() campusSelectView = CampusSelectView() dateSelectView = DateSelectView(dateList: viewModel.dateList) cafeteriaSelectView = CafeteriaSelectView(viewModel: viewModel) setCampusSelectViewLayout() setDateSelectViewLayout() setCafeteriaSelectViewLayout() campusSelectView.delegate = self dateSelectView.delegate = self cafeteriaSelectView.cafeteriaDelegate = self setCampusLabelText() viewModel.currentCampus.observe(on: self) { [weak self] _ in self?.setCampusLabelText() self?.resetCafeteriaView() self?.initOptionIndex() } let index = viewModel.indexOfCafeteria.value cafeteriaSelectView.setScrollOffsetBy(buttonIndex: index) cafeteriaSelectView.buttons.forEach { if $0.buttonIndex == index { $0.isSelected() } else { $0.isNotSelected() } } }
80
해당 resetModule 코드가 단순히 HomeViewController의 viewWillAppear에서 작동하기 때문에 두가지 문제가 발생합니다.
실제로 값이 바뀌지 않더라도 홈으로 돌아오면 무조건 다시 그리게 됩니다.
앱이 시작했을 때, layout 부분이 두번 실행됩니다. (viewDidLoad에도 있으므로)