Пожалуйста, используйте следующий код:
Имя файла: myclass.h
@interface myclass:NSObject
...
@end
@interface NSObject(CategoryName)
....
@end
Я не понимаю, как мы можем объявить 2 директивы @interface в одном файле .h? и, как и в файле реализации, мы можем реализовать только один из приведенных выше интерфейсов.
Имя файла: myclass.m
@implementation myclass
...
@end
в приведенном выше коде я не могу написать @implementation Categoryname, поскольку имя файла .h - myclass. Как реализовать методы, описанные в категории.
Также может ли мой основной интерфейс расширить один класс, а категория, которую я определяю в том же файле .h, расширить другой класс?
Как я могу объявить один класс в другой класс (вложенный класс) в цели c?
Заранее спасибо.
UPDATE
После прочтения ответов у меня есть еще 2 вопроса
- если у меня есть 2 @interface в моем .h файле, могу ли я иметь 2 @implementation в .m файле.
- если у меня есть 2 @interface в моем файле .h и если я импортирую этот файл .h в другой файл, могу ли я получить доступ к методам обеих директив @interface?
- Могу ли я реализовать методы, объявленные в категории, в интерфейсе другого класса?