Преимущества удобных методов @implementation

Я просматривал пример кода, предоставленный Apple, и наткнулся на что-то интересное, о чем я не узнал. В подклассе в .m файл, есть несколько разделов, объявленных с @implementation, Последний обычный @implementation Я ожидаю - реализация класса, где весь код идет, но выше, это пара коротких реализаций, каждая из которых определяет один метод. Они объявлены в этом формате: @implementation ClassName (Convenience), Метод, определенный внутри, имеет тот же формат, что и другие методы, но они имеют префикс aapl_, После каждого @implementation определение следует @end, конечно. Эти методы вызываются для создания экземпляра ClassName затем вызовите метод как со стандартным API: [anInstance aapl_thisInterestingMethod:aParameter];

Таким образом, это, кажется, способ добавить метод в класс, не создавая категорию, вы вызываете его с помощью экземпляра класса, и он относится только к этому файлу. Ты можешь использовать self ссылаться на вызывающий аргумент.

Мой вопрос:

  • Есть ли что-то большее, чем это?
  • Почему (удобство) добавляется до конца?
  • Это aapl_ префикс добавлен просто для того, чтобы показать, что это не часть стандартного API, а наш собственный метод?
  • Почему это лучше, чем определять метод, как обычно, принимая в качестве аргумента вызова в качестве обычного аргумента? Например: [self anInterestingMethod:myInstance withParameter:aParameter];
  • Как называются эти типы методов / реализаций и что еще я должен знать о них?

РЕДАКТИРОВАТЬ: Этот вопрос вовсе не связан с вопросом, который помечен как дубликат... @interface не @implementation

0 ответов

Другие вопросы по тегам