일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- kotlin
- 개발자
- UIKit
- UITableView
- Chrats
- Android
- PyQt5
- 그래프
- ui
- UIButton
- 라이브러리
- button
- library
- Xcode
- Apple
- 어플리케이션
- modal
- Swift
- ios
- graph
- alamofire
- Chart
- 개발
- PyQt
- Python
- charts
- Storyboard
- TableView
- cocoapods
- androidstudio
Archives
- Today
- Total
Jiwift
[iOS/Swift] 프로젝트 폴더 구조 구성 본문
반응형
시작한 프로젝트에 참여하게 되면 그 틀을 이어서 가면 좋겠지만, 새로 프로젝트를 구성하다 보면 폴더 구조를 어떻게 잡아나갈지 고민을 많이 하게 되는 것 같습니다.
저는 그래서 초반에는 프로젝트를 진행하면서도 구조를 많이 변경했었습니다. 근데 개인 프로젝트를 계속 하다보니 어느 정도 제 손에 맞는 구조를 찾게 되었고 지금은 아래와 같이 사용하고 있습니다.
처음에는 화면별로 구성요소들을 모아서 작업을했었는데, 공통적으로 사용하는 애들이 생기면서 그것을 또 따로 묶게 되고 하다가 각 Class 별로 크게 나누고 그 안에서 세부적으로 더 나누는 것을 선택하였습니다.
더 좋은 구조가 있을거라고 생각하지만 프로젝트를 진행하면서도 계속 변경되기도 할 것이고, 많이 나누는 것이, 적게 나누는 것이 어떤 것이 좋은지는 프로젝트마다 다르다고 생각이 듭니다.
하지만 제가 예전에 공부를 처음할 때 이런 구조부터 너무 고민을 했던 것이 생각나서 참고하시면 좋겠다 생각이 들어 공유합니다.
MyProject/
├── Application/
│ ├── AppDelegate.swift
│ └── SceeneDelegate.swift
├── Realm/
│ ├── ARealmv.swift
│ └── BRealm.swift
├── View/
│ ├── Base/
│ │ └── BaseVc.swift
│ └── Tab/
│ ├── HomeVc.swift
│ └── MoreVc.swift
├── ViewModel/
│ ├── AViewModel.swift
│ └── BViewModel.swift
├── Custom/
│ ├── UIView/
│ │ └── LoadingView.swift
│ ├── UIButton/
│ │ ├── PrimaryButton.swift
│ │ └── SecondaryButton.swift
│ └── UITableViewCell/
│ ├── ATableViewCell.swift
│ └── BTableViewCell.swift
├── Enum/
│ ├── TabType.swift
│ └── ErrorType.swift
├── Protocol/
│ └── AViewProtocol.swift
├── Extension/
│ ├── String+Ext.swift
│ └── CALayer+Ext.swift
├── UserDefaults/
│ └── AppSettingUserDefault.swift
├── Resource/
│ ├── Assets
│ ├── Fonts/
│ │ ├── AFont
│ │ └── BFont
│ └── LaunchScreen.storyboard
├── Other/
├── info.plist
└── GoogleService-Info.plist
반응형
'iOS Dev > iOS' 카테고리의 다른 글
[iOS/Swift] 앱에서 정적 라이브러리(.a)를 사용하는 분들이 있나요?? (0) | 2024.04.26 |
---|---|
[iOS/Swift] safeAreaInsets 상단, 하단 영역 구하기 (0) | 2024.04.23 |
[iOS/Swift] MapKit 화면 이동 감지 Delegate (0) | 2024.04.15 |
[iOS/Swift] MapKit 추가하기 (0) | 2024.04.14 |
Apple Privacy Manifest 정보 공유 (0) | 2024.03.26 |