A framework for the coordinator pattern.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CoordinatorKit.xcodeproj
CoordinatorKit.xcworkspace
Source
Tests
iOS Example
.gitignore
.swift-version
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
CoordinatorKit.podspec
LICENSE
Package.swift
README.md
_config.yml

README.md

CoordinatorKit

CI Status Version License Platform Carthage compatible

Screenshot

About

CoordinatorKit is a simple framework that provides base classes for the coordinator pattern. The design of this framework was chosen to mirror the implementation of UIKIt's UIViewController. There is a base Coordinator analagous to a UIViewController and, similarly, TabBarCoordinator and NavigationCoordinator.

You use these classes by overriding loadViewController and initializing the property viewController. You can also create a custom property such as

var myViewController: MyViewController { return viewController as! MyViewController }.

The API is designed to feel very similar to UIViewControllers. You call show, present, dismiss, and various other methods on the coordinators in order to provide navigation. If I develop this far enough, I'll create documentation, but for now just see the base classes.

TODO:

  • Check travis
  • Implement SplitViewCoordinator.
  • HamburgerController/Coordinator might not stay around.

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate CoordinatorKit into your Xcode project using CocoaPods, specify it in your Podfile:

use_frameworks!

pod 'CoordinatorKit'

Then, run the following command:

$ pod install

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

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

github "nathanlanza/CoordinatorKit" ~> 0.1

Run carthage update to build the framework and drag the built CoordinatorKit.framework into your Xcode project.

Author

Nathan Lanza -> nathan@lanza.io

License

CoordinatorKit is available under the MIT license. See the LICENSE file for more info.