nalexn/clean-architecture-swiftui

How to get value from LoadableSubject?

riley-usagi opened this issue · 1 comments

On the interactor method i always get value nil from received LoadableSubject parameter.

Given the code for LoadableSubject

typealias LoadableSubject<Value> = Binding<Loadable<Value>>

enum Loadable<T> {

    case notRequested
    case isLoading(last: T?, cancelBag: CancelBag)
    case loaded(T)
    case failed(Error)

    var value: T? {
        switch self {
        case let .loaded(value): return value
        case let .isLoading(last, _): return last
        default: return nil
        }
    }
}

You're getting nil because the underlying value container doesn't end up in loaded state. Only debugging your project can help understand where the error is.