問題タブ [encodable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
38 参照

swift - Encodable プロトコルのみに準拠したクラスを注入して Encodable クラスを作成する

BodyURLリクエストのボディとして機能するためにエンコードされるクラスを使用するネットワークモジュールを構築しています。Encodable プロトコルに準拠している任意のクラスで初期化したいのですBodyが、私の場合は、URL 要求に必要なすべてを定義するプロトコルである にMyDevice準拠しているクラスです。DeviceEncodableこのMyDeviceクラスは既に という別のクラスから継承していSpecialClassます。したがって、swift では複数のクラスからの継承が許可されていないため、プロトコルにのみ準拠できます。問題は、初期化BodyするDeviceEncodableと、「タイプ 'Body' はプロトコル 'Encodable' に準拠していません」というエラーがDeviceEncodable表示されることです。DeviceEncodable プロパティとして使用する正しい解決策は何ですかBody関数なので、継承する必要なく適切にエンコードされますか? Samble コードは次のとおりです。