StateMachine
public class StateMachine : @unchecked Sendable
有限状态机
-
状态列表,只读
Declaration
Swift
public private(set) var states: [StateObject] { get }
-
事件列表,只读
Declaration
Swift
public private(set) var events: [StateEvent] { get }
-
当前状态,只读
Declaration
Swift
public private(set) var state: StateObject? { get }
-
初始化状态,未激活时可写
Declaration
Swift
public var initialState: StateObject? { get set }
-
是否已激活
Declaration
Swift
public private(set) var isActive: Bool { get }
-
初始化方法
Declaration
Swift
public init()
-
添加状态,未激活时生效
Declaration
Swift
public func addState(_ object: StateObject)
Parameters
object
状态对象
-
批量添加状态,未激活时生效
Declaration
Swift
public func addStates(_ objects: [StateObject])
Parameters
objects
状态数组
-
从名称获取状态
Declaration
Swift
public func stateNamed(_ name: String) -> StateObject?
Parameters
name
状态名称
Return Value
状态对象
-
当前状态判断
Declaration
Swift
public func isState(_ object: Any?) -> Bool
Parameters
object
状态名称或对象
Return Value
判断结果
-
添加事件,未激活时生效
Declaration
Swift
public func addEvent(_ event: StateEvent)
Parameters
event
事件对象
-
批量添加事件,未激活时生效
Declaration
Swift
public func addEvents(_ events: [StateEvent])
Parameters
events
事件数组
-
从名称获取事件
Declaration
Swift
public func eventNamed(_ name: String) -> StateEvent?
Parameters
name
事件名称
Return Value
事件对象
-
激活并锁定状态机,锁定后不能修改初始状态、添加状态和事件
Declaration
Swift
public func activate()
-
事件是否可触发
Declaration
Swift
public func canFireEvent(_ name: Any?) -> Bool
Parameters
name
事件名称或对象
Return Value
是否可触发
-
触发事件,未激活时自动激活
Declaration
Swift
@discardableResult @MainActor public func fireEvent(_ name: Any?, object: Any? = nil) -> Bool
Parameters
name
事件名称或对象
object
附加参数,默认nil
Return Value
触发状态