Для чего нужен раздел @interface в заголовочном файле? - PullRequest
0 голосов
/ 10 июля 2011

Мне интересно, что конкретно должен содержать @interface раздел заголовочного файла?

Из примеров, которые я видел, кажется, что он используется для объявления переменных экземпляра. Средства доступа и другие методы, кажется, находятся за его пределами.

Пожалуйста, уточните

Ответы [ 2 ]

2 голосов
/ 10 июля 2011

@interface имеет по крайней мере два контекста: объявление класса и объявление категории. Объявление класса выглядит следующим образом (со скобками в необязательном порядке):

@interface Class [: Superclass]
{
    [fields]
}
[methods]
@end

Объявление категории выглядит примерно так же, но не имеет полей зоны:

@interface Class (CategoryName)
[methods]
@end

Итак, за строкой @interface должны следовать скобки в случае объявления класса, и поля класса должны быть заключены в него. Вы ставите методы после скобок.

1 голос
/ 10 июля 2011

Из документов:

Файл интерфейса объявляет новые классы, которые могут использоваться исходным кодом, храня всю информацию, необходимую для использования классов из другого кода Objective-C. Во-первых, файл раскрывает программисту положение класса в иерархии классов, точно определяя, какой из них является суперклассом. Во-вторых, он информирует программистов о том, какие переменные наследуются при создании подклассов. Наконец, файл интерфейса может информировать другие программные объекты о сообщениях, которые могут быть отправлены объекту класса и экземплярам класса.

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