Skip to content

File Organizing

Rey edited this page Jul 25, 2022 · 3 revisions

New File 추가 및 프로젝트 구조 Refactoring 시에 참고하는 Guide ** 주석을 참고하세요! **

Relax On
├── App                       : 앱의 설정과 관련있는 파일, ex. info.plist, Launch Screen, RelaxOnApp 등
├── Resource
│   ├── Assets                : Color, Image Assets 등 #주석1
│   └── AudioResource         : Material(Base, Melody, White Nois)
├── Data
│   ├── Static                : Enum, Global let/var
│   └── Model                 : Model
├── Delegate(Protocol)        : Delegate/Protocol
├── Extension                 : 특정 View에 대해서만 extension이 있는 경우, 파일을 분리하지 않고, 해당 View 파일 하단에 작성 #주석2
├── Manager                   : AudioManager와 같은 Singleton 객체
└── Views                     : 실제 View Flow의 계층과 유사하게 구조화, ViewModel은 View 파일과 함께 둠

주석1) - Assets

하나의 Assets파일에서 관리하는 것이 아닌 관련된 Assets끼리 그룹화

  • Exampele

    // * 예시입니다. 실제 폴더링 결과와 다를 수 있습니다. *
    System Assets: 앱에 공통적으로 쓰이는 버튼 아이콘 등의 Assets
    Studio Assets: Studio View에서 쓰이는 Assets
    

주석2) - Extension

  • 좋은 예

    // MainView.swift
    struct MainView: View {
    
    }
    
    extension MainView {
    
    }
  • 나쁜 예

    // MainView.swift
    struct MainView: View {
    
    }
    
    // MainView+Extension.swift
    extension MainView {
    
    }

Clone this wiki locally