Javaでは、メソッドをオーバーライドすると、@Override
注釈を追加するように指示されます(ほとんど強制的に)。 Objective-C世界でオーバーライドされたメソッドを(コメントや他のメカニズムのいずれかで)マークするための規約がありますか?オーバーライドされたメソッドのObjective-C規約
答えて
いいえObjective-Cのすべてのメソッドは、Objective-Cのメッセージングを通じて送信されるため、すべてのメソッドをオーバーライドできます。それは言語の一部です。
これもマーキングの規則はありません。それは起こる言語の一部です。もしあなたがそうでないとコメントしていたのであれば、後で偶然または意図的にあなたがそれをしたときに混乱するだけです。
私は認識していますその状況はJavaと同じです - (ほぼ)すべての関数は仮想ですが、親メソッドをオーバーライドしているという警告が表示されます。 '[super loadView];を呼び出さないようなエラーが確実に起きます –
文書を確認してメソッドを読む必要があります。いくつかのメソッドは、スーパーを呼び出すことが重要です。いくつかの方法は、あなたが**スーパーを呼び出さないことが重要です。以前は、IDEでは望めないことを言っていただろうが、コンパイラやフレームワーク、言語を制御することで、Appleは何でもできるようになったことは明らかだ。だから、バグで提案する価値があるかもしれない記者。 –
(btw、大きな質問) –
いいえ、実際はありません。
ダイナミックディスパッチのようなものではないかもしれません。
私はXcodeのがこれを行うかどうかわからないんだけど、JetBrainsのからAppCode IDEは自動的にそうように、マージンに小さな青いオーバーライドバッジでオーバーライドされたメソッドをアノテート:
。 。さらにそれを表示するには、オーバーライドされたメソッドに#pragmaタグで注釈を付けるためにいくつかのライブテンプレート(Xcodeでコードスニペットとも呼ばれます)を作成することもできます。私はそれがこの順で標準構造を定義するのに役立つことを見つける:
- クラスメソッド
- 初期&破壊
- パブリックメソッド/プロトコル法
- オーバーライドされたメソッド
- プライベートメソッド
ライブテンプレート/コードスニペットを使用することで、[override [tab]を入力するだけでIDEが#pragmaタグを作成してください。
。 。おそらくOCLintを使ってこの構造が守られているかどうかを確認することさえできます。
- 1. オーバーライドされたメソッドのリエントラントロック?
- 2. JavaDocでオーバーライドされたメソッド
- 3. オーバーライドされたジェネリックメソッドの制約
- 4. オーバーライドされたメソッドを呼び出すと、オーバーライドされた呼び出しメソッドのスーパークラス
- 5. オーバーロードされたオーバーライドされたメソッドを呼び出す方法
- 6. コード契約オーバーロードされたメソッド
- 7. ポモモフィズム、コンストラクタで使用されるオーバーライドされたメソッド - C++
- 8. オーバーライドされたメソッドの生成されたコメントを設定する
- 9. 活字体オーバーライドされたクラスのメソッドと、この
- 10. 活字 `オーバーライドされたメソッドからの私のプロジェクトで
- 11. iOSのopenURLのオーバーライドされたメソッドを待つ方法は?
- 12. サブクラス拡張のオーバーライドされたメソッドへの迅速なディスパッチ
- 13. オーバーライドされたメソッド内での子インスタンス変数の変更
- 14. ScalaのオーバーロードされたvargsメソッドによるJavaインターフェイスのオーバーライド
- 15. C#でオーバーライドされたOnPaintメソッドを使用したPictureBox
- 16. 制約をオーバーライド
- 17. Java継承でオーバーライドされたメソッドのスコープを制限する
- 18. ラップされたクラスのメソッドをオーバーライドする方法は?
- 19. 事前に定義されたモデルのメソッドをオーバーライド:「削除()」
- 20. オーバーライドされたメソッドで別の列挙型を返す
- 21. 親のオーバーライドされたメソッドを呼び出す方法
- 22. 名前のマングリングなしで継承されたメソッドをオーバーライド
- 23. オーバーライドされたメソッドの使用と拡張型
- 24. クラス内のオーバーライドされたメソッドのみが検出されています
- 25. RavenDB 2.5(2956)ネストされたIIS Webアプリケーション - HTTP APIのURL規約?
- 26. Rails:ネストされたパスの表示規約
- 27. Java:オーバーライドされたメソッド内にある処理ステートメント
- 28. インストールされたpackgeメソッドをオーバーライドする最も良い方法
- 29. メソッドはStringBufferとStringBuilderでオーバーライドされませんでしたか?
- 30. C++でオーバーライドされた親仮想メソッドにアクセス
関連する質問:[C#でのオーバーライドの目的のCの同等](http://stackoverflow.com/questions/1034554/objective-c-equivalent-of-override-in-c-sharp) –