CocoaPods trunk is moving to be read-only. Read more on the blog, there are 3 months to go.

Alt 0.3.1

Alt 0.3.1

TestsTested ✓
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Nov 2015
SPMSupports SPM ✗

Maintained by Francis Chong.



Alt 0.3.1

Alt

Another Flux implementation for Swift. It provides concept of “one-way data flow” with type-safe modules by Swift language.

Usage

Step 1: Define Action

  • Create struct that implements protocol Action.
struct TodoActions {
    struct Create : Action {
        let title : String
    }
}

Step 2: Define Store and register action

  • Create a Store class, which implement Store protocol with a typealiase State
  • Use Alt.getStore(YourStore.self) to get a singleton instance of the store
  • Bind Actions to handers, where the store update it states.
  • Invoke self.emitChange() to notify listeners about change of states in Store
class TodoStore : Store {
    // define a typealias for the state of the model
    typealias State = [Todo]

    // and add a property of the State
    var state : State!

    // Set the initial state of the Store
    static func getInitialState() -> State {
        return []
    }

    required init() {
        self.bindAction(TodoActions.Create.self, handler: self.onCreate)

        // alternatively, bind action with a block
        self.bindAction(TodoActions.Create.self) { [weak self] (action) -> () in
            self?.state.append(Todo(title: action.title))
        }
    }

    private func onCreate(action: TodoActions.Create) {
        self.state.append(Todo(title: action.title))
        self.emitChange()
    }
}

Step 3: Listen store’s event at View

  • Register listeners to store.state change by Store.listen()
self.todoStore.listen { (state) -> (Void) in
    self.tableView.reloadData()
}

Step 4: Create and dispatch an Action

TodoActions.Create(title: "New ToDo").dispatch()

Requirements

  • Swift 2.0

Installation

Alt is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "Alt"

Author

Francis Chong, [email protected]

License

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