问题
Does anyone have a solution for a basic, compact Finite state machine/automata written in Objective-C code?
I am interested in reusable components so that the FSM have states added and actions defined that use reusable state classes.
回答1:
What you want is a rules engine... oddly, I was able to find only one for objective-C (BDRuleEngine) and that is rather out of date:
http://eschatologist.net/bDistributed.com/index.html
It might be the best starting point though, unless you want to port something.
回答2:
I've found a good solution. This is the best choice for Objective-C I have ever seen. Enjoy ;) https://github.com/est1908/SimpleStateMachine
回答3:
I did this in Java. Might be ported... In addition to the reusable components, the state machine itself can be defined in an array (as data), which makes it really easy to use.
http://code.google.com/p/state-machine/
If you wanted to try to port it, I could probably help.
回答4:
take a look here http://www.sinelabore.com It translates UML state charts into Objective-C (beside C/C++).
Peter
回答5:
I've just posted a Class-based Objective-C Finite State Machine on Github. It's not so much that it has reusable classes, as it provides protocols and abstract classes for you to reuse other classes. I'm currently using this in a project that already has network REST API objects that really needed to be organized as a state machine. I changed the superclasses from NSObject to inherit from the state machine and the state and a few other methods and I could reorganize the code as a Deterministic Finite Automata.
https://github.com/StCredZero/SCZ-ObjC-StateMachine
来源:https://stackoverflow.com/questions/1110572/finite-state-machine-in-objective-c