Почему Xcode 4.3 помещает @interface ClassName () в файл реализации? - PullRequest
8 голосов
/ 28 февраля 2012

Я создал класс в Xcode 4.3, и он создал заголовочные файлы и файлы реализации с @interface и @implementation в правильных местах, но в файле реализации также есть @interface:

@interface MyClassName ()

@end

Почему Xcode помещает это в файл реализации и для чего он нужен?

Спасибо, Курц

1 Ответ

13 голосов
/ 28 февраля 2012

Xcode автоматически создает расширение класса, которое позволяет вам реализовывать «частные» методы.
Расширения класса являются неназванными категориями и были введены в Objective-C 2.0.

Одним из преимуществ расширений класса являетсяТо, что компилятор предупредит вас, если вы забудете реализовать один из методов, объявленных в анонимном интерфейсе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...