2011-05-21 50 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”的类。

希望有帮助。

相关问题