web-dev-qa-db-ja.com

CurrentValueSubjectと@Publishedの違い

だから私は結合を掘り下げています、そしてこの質問が浮上しました。

CurrentValueSubjectを使用することと、currentValueSubject.value)または@Published varおよび$?つまり、Subjectの代わりにPublisherを返すことを知っていますが、CurrentValueSubjectは、プロトコル。

本当にわかりません@Publishedは、PassthroughSubjectだけを使用できる場合に役立ちます。ここで何か不足していますか? 注意、これはUIKitを使用しています、SwiftUIの他の用途があるかもしれません。

ありがとうございました。

6
Mykod

@Publishedは、CurrentValueSubjectを少しすっきりさせる簡単な方法です。アプリの1つをデバッグし、$ paramNameによって返されたタイプを見ると、それは実際には単なるCurrentValueSubjectです。

po self.$books
▿ Publisher
  ▿ subject : <CurrentValueSubject<Array<Book>, Never>: 0x6000034b8910>

@Publishedの代わりにCurrentValueSubjectを使用する利点の1つは、エラータイプを使用できることでしょうか。

注:CurrentValueSubjectであるにもかかわらず現在この仮定に依存することはありません。

1
Jason