ディセーブルインスタンスメソッドが見つかりません警告
-
14-12-2019 - |
質問
現在、特定のメッセージを傍受し、それらを誰にも転送するだけでなく、それらを処理するだけではなく、これらのメソッドは本当に存在しません。そして、ここで問題が発生しますが、明らかにコンパイラが不足しているメソッド実装について不平を言っていき、それを停止する方法を理解することはできません。メソッドは停止するためだけにコンパイラを停止させるためだけにスタブメソッドを追加します。任意の成形されていて、私は彼らを私の前に知らない(もう少し具体的にするために、このプロジェクト)。
解決
あなたのスイッチのステートメントは実際には恣意的ではありません、それらは任意の長さを持つことができます。幅広い長さの場合は、先に進んでコンパイラの利点を宣言することができます(そしてあなたはエラーチェックを受けることができます。例えば:
typedef void (^ObjCCaseBlock)();
@interface NSObject ()
- (id)switch;
- (void)case:(NSString*)a :(ObjCCaseBlock)b;
- (void)case:(NSString*)a :(ObjCCaseBlock)b case:(NSString*)a :(ObjCCaseBlock)b;
- (void)case:(NSString*)a :(ObjCCaseBlock)b case:(NSString*)a :(ObjCCaseBlock)b case:(NSString*)a :(ObjCCaseBlock)b;
@end
.
発生しやすい数のレベルを繰り返します(そしてそれが問題にぶつかったら、レベルを追加することができます)。それは少し面倒ですが、難しくありません。
所属していません StackOverflow