私は 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
。
前もって感謝します。