問題タブ [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.
swift - 「純粋な」Swiftで弱いプロトコル参照を作成するにはどうすればよいですか(@objcなし)
weak
protocol
aが として宣言されていない限り、参照は Swift で機能しないようです@objc
。これは、純粋な Swift アプリでは望ましくありません。
このコードはコンパイル エラーを返します (weak
非クラス型には適用できませんMyClassDelegate
)。
プロトコルの前に を付ける必要があり@objc
、それが機能します。
質問: を達成するための「純粋な」Swift の方法は何weak
delegate
ですか?
swift - Swift - サブクラスでオーバーライドする必要があるクラス メソッド
Swift で「純粋仮想関数」を作成する標準的な方法はありますか。すべてのサブクラスでオーバーライドする必要があり、そうでない場合、コンパイル時エラーの原因となるのはどれですか?
swift - すべての Swift プロトコルへの参照?
Swift には、プロトコルと呼ばれるクラス インターフェイスの概念があります。ただし、Swift API で利用可能なすべてのプロトコルの完全なリファレンスを見つけることができないようです。すべてのプロトコルのリストはどこにありますか?
swift - Self を返すプロトコル関数
オブジェクトのコピーを返すプロトコル P があります。
P を実装するクラス C:
Self
ただし、次のエラーが発生したときに戻り値を入力するかどうか:
型 'C' の戻り式を戻り型 'Self' に変換できません
私も返してみC
ました。
その結果、次のエラーが発生しました。
非最終クラス「C」のメソッド「copy()」は
Self
、プロトコル「P」に準拠するために戻る必要があります
ie doを前class C
に付けた場合を除いて、何も機能しません。final
ただし、C をサブクラス化したい場合は、何も機能しません。これを回避する方法はありますか?