もちろん、ヘッダーファイル内のすべてのメソッドを宣言することがベストプラクティスですので、xcodeからインスタンスメソッドが見つからないことを警告するときに感謝します。ただし、ヘッダーにメソッドを宣言していない場合があり、警告が表示されない場合があります。これらは間違いなく委譲メソッドではないので、他のどのような場合にこの動作が発生しますか?なぜxcodeはヘッダファイルに宣言されていないインスタンスメソッドを見つけるのですか?
0
A
答えて
2
おそらく、このメソッドは、使用される時点までに実装で既に定義されています。つまり、使用されているメソッドが実装ファイルで使用されている場所の上にある場合、コンパイラはメソッドのシグネチャを知っているので、すべて正常です。
1
メソッドがヘッダーファイル(またはクラス拡張)で宣言されていないが、参照している別のメソッドの前にある場合、エラーは発生しません。
1
あなたがの下で、あなたのメソッド本体の定義をあなたの方法を呼び出した場合、それはのように、動作します:あなたはあまりにもその周りに他の方法は、(あなたのヘッダファイル内のメソッドもない場合)クラッシュした場合
-(void)foo { bla }
[self foo];
:
[self foo];
-(void)foo { bla }
関連する問題
- 1. なぜ私はダブルプロパティ宣言を見続けるのですか?
- 2. @codelectorを使用すると、Xcodeが宣言されていないメソッドについて文句を言うのはなぜですか?
- 3. 'sockaddr_in6_t'ヘッダファイルをインクルードした後でも宣言されていないエラー
- 4. `std`モジュールが宣言されていないのはなぜですか?
- 5. 見つからないヘッダファイル
- 6. xcodeの宣言されていない識別子__bridge
- 7. Xcodeはいつ転送メソッドの宣言を必要としないのですか?なぜですか?
- 8. なぜこの変数が宣言されていないのですか?
- 9. メソッドが見つからない、または宣言されていないことに関するコンパイラ警告
- 10. Javaで別のファイルで宣言されているのはなぜですか?
- 11. なぜGKPlayerAuthenticationDidChangeNotificationName「宣言されていない識別子」
- 12. XCode - ファイルが見つからないのはなぜですか?
- 13. PHP - Yiiの世代のビューファイルとき、私はこのコードを見つける宣言されていないオブジェクト
- 14. Xcodeアーカイブはサブプロジェクト内にヘッダファイルを見つけられません
- 15. iPhone - なぜ.mで宣言され、.hではなく、いくつかのメソッドが宣言されていますか?
- 16. プロトタイプで宣言されている関数が呼び出されないのはなぜですか?
- 17. 「厳格な」(JavaScript)が宣言されていない変数を検出しないのはなぜですか?
- 18. UITableViewは宣言されていない型のセルですか?
- 19. Xcode 4.なぜ名前が変更されたプロジェクトがInfo.plistファイルを見つけられないのですか?
- 20. 文字列は宣言されていない型ですか?
- 21. 宣言されていない変数
- 22. インスタンスメソッドbeginAnimations:コンテキスト:見つからない
- 23. はなぜ<宣言しなければならないのPHP
- 24. ヘッダファイルの宣言は必須ですか?
- 25. クラスの行外定義エラーですが、ヘッダファイルに宣言されています
- 26. PHPが必要なファイルに宣言された関数を見つけられない
- 27. エラー:予想される宣言、宣言されていない型 'オブジェクト'の使用、宣言されていない型 'JSON'の使用
- 28. LINQ:返されるオブジェクトに新しいオブジェクトを宣言できないのはなぜですか?
- 29. Xcodeはいくつかのヘッダファイルは
- 30. なぜテンプレートが再定義されないのですか?それはすべてヘッダファイルに書かれているのはなぜですか?