Name | Description |
---|---|
Define/ | The most time static values will be put here, such as third party keys, colors, fonts... |
Define/App.swift | App or third party keys/credientials will be defined here |
Define/String.swift | Localizable strings will be defined here |
Define/Color.swift | Colors will be defined here |
Define/Font.swift | Fonts will be defined here |
View/ | Everything relative directly to UI |
View/Base/ | Base classes for view controller, popup controller... |
View/Controls/ | Custom controls: label, button, cell... |
View/Controllers/ | View controllers |
ViewModel/ | Data holding & logic handling for view controller |
Model/ | Business objects and business logic will be put here |
Model/API/ | API request will be handled here |
Model/Schema/ | ORM objects will be defined here |
Library/ | Helper, Utils, Extension... or frameworks which cannot be put in CocoaPods (ex: modified, no podspec found...) |
Resources/ | Image, video, audio, font, Localizable.strings ... |
Supports/ | Application info, target configuration, bridging... |
Note: You should place your controllers in Controllers
directory with a nested folder structure.
Framework | Description |
---|---|
ObjectMapper | Simple JSON Object mapping written in Swift. |
SwiftyJSON | The better way to deal with JSON data in Swift. |
Alamofire | Elegant HTTP Networking in Swift. |
SwiftLint | A tool to enforce Swift style and conventions. |
RealM | Realm is a mobile database: a replacement for Core Data & SQLite |