Метод отключения экземпляра не найден предупреждение
-
14-12-2019 - |
Вопрос
В настоящее время я работаю над подклассом NSProxy
, который перехватывает определенные сообщения и никогда не пересылает их никому, а просто обрабатывает их, поэтому эти методы никогда не существуют.И вот приходит проблема, очевидно, компилятор начинает жаловаться на пропущенные реализации метода, и я не могу понять, как остановить его, добавляя методы заглушки в интерфейс, чтобы сделать компилятор, не работает, потому что методыЯвляются ли произвольными, и я не знаю их впереди (чтобы сделать его немного более конкретно, я прошу это Проект).
Решение
Ваше выключатели не очень произвольные, у них просто может быть произвольная длина.Для широкого количества длин вы можете пойти дальше и объявить их в пользу компилятора (и вы тогда получите проверку ошибок, что вы бы не выключили предупреждение).Например:
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
.
Повторите как можно больше уровней, которые, вероятно, произойдут (и вы могли бы добавить уровни, если он когда-либо столкнулся с проблемой).Это немного утомительно, но не сложно.