• Jan
  • Feb
  • Mar
  • Apr
  • May
  • Jun
  • Jul
  • Aug
  • Sep
  • Oct
  • Nov
  • Dec
  • Sun
  • Mon
  • Tue
  • Wed
  • Thu
  • Fri
  • Sat
  • 27
  • 28
  • 29
  • 30
  • 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
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Style 뷰 로직 작성하기

뷰 전환

private func pushToScentViewController() {
        let scentStoryboard = UIStoryboard(name: Const.Storyboard.Name.scent, bundle: nil)
        guard let scentViewController = scentStoryboard.instantiateViewController(withIdentifier: Const.ViewController.Identifier.scent) as? ScentViewController else {
            return
        }
        self.navigationController?.pushViewController(scentViewController, animated: true)
    }

Enum으로 뷰 재사용시 usage 관리

Style 뷰는 온보딩에서는 back button이 없고,
main 뷰를 통해 보일 때에는 back button이 있는 상태이기 때문에 분기처리가 필요하다.

    // MARK: - Properties

    enum StyleViewUsage: Int {
        case onboarding = 0, main
    }
    
    var styleViewUsage: StyleViewUsage?

이렇게 enum을 만들어주고,

    // MARK: - Functions
    
    private func initializeNavigationBar() {
        
        switch self.styleViewUsage {
        case .onboarding:
            	// 온보딩일 때 처리
        case .main:
            	// 메인 플로우일 때 처리
        default:
            return
        }
    }

이런식으로 분기처리 해 주면 된다.
그리고 나중에 뷰 트랜지션 처리 할 때

styleViewUsage = .main

위와 같이 지정해주면 된다. (온보딩 진행 시에는 .onboarding으로)