iOS状态机 0.1.1

iOS状态机 0.1.1

维护者:ILYADA.



iOS状态机

易于使用的iOS平台状态机。将库安装到项目中,无需处理复杂逻辑的状态。

Version License Platform

示例

要运行示例项目,请克隆存储库,然后首先从Example目录运行 pod install

StateMachine<Events, States>(currentState: .state1) { stateMachine in
    let mappingDisposable = stateMachine.addRouteMapping { (event, state) -> ViewController.States? in
        switch (event, state) {
        case (.event1, .state1):
            print("event1 triggered -> state1 to state2")
            return .state2
        case (.event2, .state2):
            print("event2 triggered -> state2 to state1")
            return .state1
        default:
            return nil
        }
    }
    stateMachine.addRoute { (fromState, toState) in
        switch (fromState, toState) {
        case (.state1, .state2):
            print("state1 to state2")
            stateMachine >>> .event2
        case (.state2, .state1):
            print("state2 to state1")
            mappingDisposable.dispose()
            // it does not trigger mapping functions. Cause of dispose()
            stateMachine >>> .event1
        default:
            break
        }
    }
    // event1 triggered
    stateMachine >>> .event1
}

安装

iOS状态机可以通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中

pod 'iOSStateMachine'

作者

ilyadaberdil, [email protected]

许可证

iOS状态机遵从MIT许可证。有关更多信息,请参阅LICENSE文件。