withアプリーチSwiftのCombineフレームワークとは非同期処理やストリーム処理、データのバインディング、イベントハンドリングなどのリアクティブプログラミングに倣った機能を提供しているApple純正のフレームワークです。ErrorCombineのAnyPublisherは別のパブリッシャーをラップすることで型を消去して公開するパブリッシャーです。AnyPublisher自体には重要なプロパティを持たず上流のパブリッシャーからのイベントをそのまま通過させて公開する役割を持っています。Self.Failure>型を消去してAnyPublisher型を受け取るためにはPublisherプロトコルの持つeraseToAnyPublisherメソッドを使用します。パブリッシャー機能を持ったクラスはPublisherプロトコルに準拠しているので上流とするパブリッシャーから呼び出すことができます。このメソッドを実行することで上流のパブリッシャーのイベントを遮断することなくデータ型をAnyPublisherに変換(型消去)して公開することができるようになります。具体的なサンプルコード言葉では分かりにくいので具体的なサンプルコードにしていみます。上流パブリッシャーのイベントを発行test.sendEvent(1)test.sendEvent(2)上記の例ではPassthroughSubjectが上流となっておりますが、公開(外部から参照できる)パブリッシャーはAnyPublisherにすることができています。AnyPublisherのみを参照できるメリットはPassthroughSubjectのsendメソッドが自由に呼び出せないようになっていることです。このように上流のパブリッシャーの持つ独自のメソッドなどを外部に公開する必要がない場合に型消去して公開することで期待しない独自メソッドの呼び出しを防ぐことができます。勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。ご覧いただきありがとうございました。友達や家族の誕生日を登録しておくと当日に通知が届きお知らせしてくれるiOSアプリです。貸し借り管理アプリお金の貸し借りを管理するためのアプリです。貸借の色が分かれているので識別しやすく、使いやすさを求めてできるだけシンプルなUIにしています。カシホン人に貸すことが多く、誰に貸したか忘れがちな本の貸し借りを記録できるアプリです。