問題タブ [swift-protocols]

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 投票する
7 に答える
126456 参照

swift - 「純粋な」Swiftで弱いプロトコル参照を作成するにはどうすればよいですか(@objcなし)

weakprotocolaが として宣言されていない限り、参照は Swift で機能しないようです@objc。これは、純粋な Swift アプリでは望ましくありません。

このコードはコンパイル エラーを返します (weak非クラス型には適用できませんMyClassDelegate)。

プロトコルの前に を付ける必要があり@objc、それが機能します。

質問: を達成するための「純粋な」Swift の方法は何weak delegateですか?

0 投票する
8 に答える
59769 参照

swift - Swift - サブクラスでオーバーライドする必要があるクラス メソッド

Swift で「純粋仮想関数」を作成する標準的な方法はありますか。すべてのサブクラスでオーバーライドする必要があり、そうでない場合、コンパイル時エラーの原因となるのはどれですか?

0 投票する
4 に答える
2258 参照

swift - すべての Swift プロトコルへの参照?

Swift には、プロトコルと呼ばれるクラス インターフェイスの概念があります。ただし、Swift API で利用可能なすべてのプロトコルの完全なリファレンスを見つけることができないようです。すべてのプロトコルのリストはどこにありますか?

0 投票する
9 に答える
31334 参照

swift - Self を返すプロトコル関数

オブジェクトのコピーを返すプロトコル P があります。

P を実装するクラス C:

Selfただし、次のエラーが発生したときに戻り値を入力するかどうか:

型 'C' の戻り式を戻り型 'Self' に変換できません

私も返してみCました。

その結果、次のエラーが発生しました。

非最終クラス「C」のメソッド「copy()」はSelf、プロトコル「P」に準拠するために戻る必要があります

ie doを前class Cに付けた場合を除いて、何も機能しません。final

ただし、C をサブクラス化したい場合は、何も機能しません。これを回避する方法はありますか?