BlocBase

open class BlocBase<State> : ObservableObject where State : Equatable

Bloc抽象基类

  • 获取当前状态

    Declaration

    Swift

    public var state: State { get }
  • 状态发布者

    Declaration

    Swift

    public var publisher: AnyPublisher<State, Never> { get }
  • 初始化起始状态

    Declaration

    Swift

    public init(_ initialState: State)
  • 提交新状态

    Declaration

    Swift

    public func emit(_ state: State)
  • 报告错误,内部调用onError方法

    Declaration

    Swift

    public func addError(_ error: Error)
  • 订阅状态值,释放时自动取消订阅,初始值也会触发

    Declaration

    Swift

    @discardableResult
    public func sink(_ receiveValue: @escaping (State) -> Void) -> AnyCancellable
  • 取消状态值订阅,默认nil时取消所有

    Declaration

    Swift

    public func cancel(_ cancellable: AnyCancellable? = nil)
  • 监听改变,子类可重写,必须调用super方法

    Declaration

    Swift

    open func onChange(_ change: Change<State>)
  • 监听错误,子类可重写,必须调用super方法

    Declaration

    Swift

    open func onError(_ error: Error)