#iphone #objective-c #cocoa-touch #class
#iPhone #objective-c #cocoa-touch #Класс
Вопрос:
Я хочу создать свойство из представления, в которое уже импортирован мой класс в его собственный файл .h, и поэтому я не могу импортировать его файл .h в свой файл .h, потому что это вызывает проблемы. Это означает, что я должен поместить его импорт в файл .m.
Помещаем это в файл .m:
View1 *просмотр1;
работает нормально. Но ввод @property вызывает проблемы. Кажется, я не могу найти, куда лучше его поместить, чтобы не вызвать ошибку. Есть ли обходной путь для этого?
Ответ №1:
Вы можете поместить это в свой @interface в заголовочном файле без импорта View1.h. Просто используйте прямое объявление, подобное этому:
@class View1;
@interface MyClass : NSObject {
}
@property (attrs) View1 *view1;
@end
Вы также можете объявить свойства в файле вашей реализации (.m), если вам когда-нибудь понадобится, с расширением класса, подобным so:
@interface MyClass()
@property (attrs) View1 *somePrivateProperty;
@end
Это полезно по другим причинам, но не обязательно в вашем случае, исходя из того, что вы сказали. Думайте об этом как о дополнительном @interface со свойствами и методами, которые вы, возможно, захотите скрыть от других классов, которые импортируют «MyClass.h»
Надеюсь, это поможет.