2009-07-10 5 views
4

Hat jemand eine Lösung für eine grundlegende, kompakte Finite-State-Maschine/Automaten in Objective-C-Code geschrieben?Finite-State-Maschine in Objective-C

Ich interessiere mich für wiederverwendbare Komponenten, so dass der FSM Staaten hinzugefügt und Aktionen definiert, die wiederverwendbare Zustandsklassen verwenden.

+1

Also hast du einen erstellt? – abbood

Antwort

0

Was Sie wollen, ist eine Regel-Engine ... seltsam, konnte ich nur eine für Objective-C (BDRuleEngine), und das ist ziemlich veraltet finden:

http://eschatologist.net/bDistributed.com/index.html

Es könnte sein, der beste Ausgangspunkt, es sei denn, Sie möchten etwas portieren.

+0

Nein, ich suche keine Regel-Engine. Eine grundlegende FSM mit wiederverwendbaren Klassen ist was ich will. Ich schrieb eine in etwa 200 Zeilen von C++ in etwa 3 Klassen. Hoffend, jemand hatte bereits einen in Obj-C codiert. Sieht so aus als hätte ich es selbst zu tun. –

+3

Warum ist die einzige Antwort, die du gesagt hast, völlig überholt? Und warum bist du nicht zurückgekommen und hast das mit dem, was du getan hast, aktualisiert? (Art macht hier seinen Wert deutlich weniger.) – Rob

0

Ich tat dies in Java. Könnte portiert werden ... Zusätzlich zu den wiederverwendbaren Komponenten kann die Zustandsmaschine selbst in einem Array (als Daten) definiert werden, wodurch sie wirklich einfach zu verwenden ist.

http://code.google.com/p/state-machine/

Wenn Sie es in den Hafen versuchen wollte, könnte ich wahrscheinlich helfen.

+0

Ausgezeichnet. Ich habe bereits eines in C++ für ein Universitätsspiel geschrieben, das ich geschrieben habe. Ich guck dir deine an. –

+0

Okay, es sieht wie ein großes Projekt aus. In diesem Fall bin ich in den nächsten Tagen beschäftigt und muss mich danach noch einmal umsehen. –

0

werfen Sie einen Blick hier http://www.sinelabore.com Es übersetzt UML-Zustandsdiagramme in Objective-C (neben C/C++).

Peter

0

Ich habe gerade gebucht eine Klasse-basierte Objective-C Finite State Machine auf Github. Es verfügt nicht so sehr über wiederverwendbare Klassen, da es Protokolle und abstrakte Klassen für die Wiederverwendung anderer Klassen bereitstellt. Ich verwende dies derzeit in einem Projekt, das bereits über Netzwerk-REST-API-Objekte verfügt, die wirklich als Zustandsmaschine organisiert werden müssen. Ich habe die Oberklassen von NSObject geändert, um sie von der Zustandsmaschine und dem Zustand und einigen anderen Methoden zu erben, und ich könnte den Code als deterministische endliche Automaten reorganisieren.

https://github.com/StCredZero/SCZ-ObjC-StateMachine