2011-05-21 81 views
0

我想創建一個屬性的視圖已經有我的類導入到它自己的.h文件,因此我不能將它的.h文件導入到我的.h文件,因爲它會導致問題。這意味着我必須將其導入到.m文件中。我不能在.h文件中聲明這個屬性,我可以在.m文件中嗎?

將這些放在.m文件:

視圖1 *廠景;

工作正常。但是@property會導致問題。我似乎無法找到最好的地方,以避免造成錯誤。有沒有解決這個問題的方法?

回答

1

你可以把這個放入你的頭文件的@interface而不需要導入View1.h。只需使用一個向前聲明是這樣的:

@class View1; 

@interface MyClass : NSObject { 

} 

@property (attrs) View1 *view1; 
@end 

你也可以在你的實現(.M)文件中聲明的屬性,如果你需要,用類擴展,像這樣:

@interface MyClass() 

@property (attrs) View1 *somePrivateProperty; 
@end 

這由於其他原因是有用的,但從您所說的話來看並非必要。把它看作是一個次要的@interface,它的屬性和方法可能希望隱藏其他導入「MyClass.h」的類。

希望有幫助。

相關問題