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. JavaDocでオーバーライドされたメソッド
- 2. オーバーライドされたメソッドを呼び出すと、オーバーライドされた呼び出しメソッドのスーパークラス
- 3. オーバーロードされたオーバーライドされたメソッドを呼び出す方法
- 4. コード契約オーバーロードされたメソッド
- 5. C#でオーバーライドされたOnPaintメソッドを使用したPictureBox
- 6. ScalaのオーバーロードされたvargsメソッドによるJavaインターフェイスのオーバーライド
- 7. 活字体オーバーライドされたクラスのメソッドと、この
- 8. RavenDB 2.5(2956)ネストされたIIS Webアプリケーション - HTTP APIのURL規約?
- 9. ラップされたクラスのメソッドをオーバーライドする方法は?
- 10. Java継承でオーバーライドされたメソッドのスコープを制限する
- 11. 事前に定義されたモデルのメソッドをオーバーライド:「削除()」
- 12. スーパークラスのオーバーライドされたプロパティ
- 13. フレックスモジュールのオーバーライドされたスタイル
- 14. オーバーライドされたOnPaintメソッドでImageAlign.MiddleCenterを実現する方法
- 15. 親からオーバーライドされた静的メソッドを呼び出す
- 16. オーバーライドされたメソッドを使用するJava
- 17. Java:オーバーライドされたメソッド内にある処理ステートメント
- 18. オーバーライドされたメソッドにパラメータを追加するE_STRICT observer
- 19. メソッドはStringBufferとStringBuilderでオーバーライドされませんでしたか?
- 20. インストールされたpackgeメソッドをオーバーライドする最も良い方法
- 21. Doxygen - オーバーライドされたメソッド - コメントは継承されません、なぜですか?
- 22. C#からオーバーライドされオーバーロードされたF#メソッドを解決できません
- 23. JavaScriptメソッドのオーバーライド
- 24. UIImageはObjectiveCのNSDataにエンコードされ、Swiftでデコードされました
- 25. mongoidのネストされた属性の規約を受け入れる
- 26. オーバーライドされたメソッドカントスロー例外
- 27. JSR 303カスタム制約オーバーライド
- 28. JavaScriptネームスペースの規約
- 29. ActionDispatch :: Requestメソッドのオーバーライド
- 30. 同期メソッドのオーバーライド
関連する質問:[C#でのオーバーライドの目的のCの同等](http://stackoverflow.com/questions/1034554/objective-c-equivalent-of-override-in-c-sharp) –