Skip to content

radianttap/Coordinator

Repository files navigation

platforms: iOS|tvOS SwiftPM ready Carthage compatible CocoaPods compatible

Coordinator

Implementation of Coordinator design pattern. It is the application architecture pattern for iOS, carefully designed to fit into UIKit; so much it could easily be UICoordinator.

Since this is core architectural pattern, it’s not possible to explain its usage with one or two clever lines of code. Give it a day or two; analyze and play around. I’m pretty sure you’ll find it worthy of your time and future projects.

Installation

  • version 7.x and up is made with Swift 5.5 concurrency in mind (async / await)
  • versions before that (6.x) use closures

Manually

Just drag Coordinator folder into your project — it‘s only a handful of files.

If you prefer to use dependency managers, see below. Releases are tagged with Semantic Versioning in mind.

Swift Package Manager

Ready, just add this repo URL as Package.

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate Coordinator into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'Coordinator', 	:git => 'https://github.com/radianttap/Coordinator.git'

Setting up with Carthage

Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate Coordinator into your Xcode project using Carthage, specify it in your Cartfile:

github "radianttap/Coordinator"

Documentation

The why and how and...

License

MIT, as usual.

Give back

If you found this code useful, please consider buying me a coffee or two. ☕️😋