Определение метода не найдено… автоматическая заглушка с Xcode?
-
24-09-2019 - |
Вопрос
Я не хочу сдаваться, прежде чем спросить, потому что это базовая функциональность в любой Java / .Net IDE.Компилятор сообщает мне:
родовое словоно щелчок, щелчок правой кнопкой мыши, молитва и поиск в Google не позволили мне автоматически создать заглушку метода из этого. Может ли Xcode создать для меня заглушку метода и перенести меня туда?
Если нет, то почему это может быть (помимо слов «настоящие программисты любят печатать»)?
Изменить: я думал, что option-escape в основном решил эту проблему для меня, но это не так.Кажется, он не знает обо всех (каких-либо?) Интерфейсах, реализуемых моим классом.
Решение 4
То, о чем OP (я) говорит, находится в Java, где интерфейс неявный.Однако случай, который повторяется в Xcode, - это тот случай, когда НИКАКОГО метода еще не определено ни в одном интерфейсе.
AppCode обрабатывает этот случай, Xcode - нет (если кто-то не ответит на этот вопрос, но он был здесь некоторое время):
Позже: люди ответили на вопрос, но Xcode по-прежнему этого не делает.
Другие советы
Это может быть возможность отправить запрос функции в Apple.Обычно я создаю свой файл @interface, а затем копирую / вставляю @interface в @implementation, сводя набор текста к абсолютному минимуму.
Однако было бы неплохо иметь возможность щелкнуть предупреждение и позволить Xcode просто создать метод в нижней части @implementation.
ПРИМЕЧАНИЕ: можно оставить точку с запятой после @implementation
родовое словоЯ не против такого поведения.Во-первых, реализация не обязательно существует, поскольку она может быть динамической.Я также классифицирую свой код с помощью #pragma mark - MyCategory и хочу, чтобы реализации были в определенных местах исходного файла.
Однако я согласен - я не хочу вводить саму заглушку.
Это можно сделать по отдельности.
Перейдите в свой файл реализации и начните вводить - prefix и нажмите ESC, и вы должны увидеть действительные завершения, соответствующие префиксу.Вы должны начать с ввода - или +, чтобы это сработало, например, методы экземпляра и методы класса соответственно.
Иногда вы не знаете, что вам нужно реализовать!Откройте навигатор проблем и щелкните прямоугольник раскрытия.Должна быть строка с надписью Метод, объявленный здесь .Щелкните по нему, чтобы увидеть метод, который не реализован.
То, что вы ищете, не существует.Я просто использую автозаполнение (у меня это обычно работает) или копирование / вставку.
Почему вы думаете, что в Xcode есть функция только потому, что она есть в eclipse?Eclipse ~ 10 лет, а Xcode ~ 23 года.Любые скопированные объекты, скорее всего, будут в другом направлении.
Однако это было бы отличным запросом.Возможно, открыв меню автозаполнения на пустой строке внутри кода @implementation .. @end
, можно получить список еще не реализованных методов.
Но я не уверен, насколько хорошо это будет работать на практике, из-за общих категорий кодовых кодов.В меню автозаполнения могут быть буквально тысячи «еще не реализованных» методов.Но он может показать по крайней мере некоторые из наиболее вероятных.
Похоже, эта ошибка / предупреждение компиляции также может быть хорошим кандидатом для новой функции «Исправить».
Также: научитесь печатать быстрее: p