3

私は ReactiveSwift を数か月間使用していますが、完全には理解できないものがあります: ライフタイム オブジェクトです。

たとえばSignalProducer、API 呼び出しを行う があるとします。これはクラスにラップされています。

class ServiceWrapped {

    private let service: Service // the method called on this object returns the SignalProducer
    private let (lifetime, token) = Lifetime.make()

    // more stuff

    func fetchSomething(completion: @escaping (Value?, Error?) -> Void) {
        lifetime += service.fetchSomething()
            .startWithResult { result in
                switch result {
                case .success(let value):
                    completion(value, nil)
                case .failure(let error):
                    completion(nil, error)
                }
        }
    }
}

私の質問は:lifetimeこの場合に使用する必要がありますか?

サービス呼び出しを保持するので、返されたときに何かがあることを理解しlifetimeましたが、これもラップされているため、ServiceWrapped使用する必要はないと思いますlifetime

前もって感謝します。

4

1 に答える 1