【发布时间】:2013-04-02 13:20:15
【问题描述】:
我正在编写一个 iOS 应用程序,其中我有一个模型类,它将使用我提供给它的 XMLElement 进行初始化。
我在 XML 部分使用 TBXML。
模型类的标题如下所示:
@interface CatalogItem : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSManagedObject *group;
-(id)initWithXMLElement:(TBXMLElement*)element;
@end
现在不包括定义 TBXMLElement 的标头,我想在类定义之前使用:struct TBXMLElement 转发声明它。但是,我收到“预期类型”错误,告诉我我的声明不起作用。这不是我的想法吗?
据我了解,在头文件中包含头文件是不好的做法。编译器不需要知道TBXMLElement 的内部工作原理,只需知道它在编译时存在或将存在即可。
【问题讨论】:
-
错误做法和为错误哭泣..两种不同的情况。 #import 并继续前进。 :)
-
@AnoopVaidya 这根本不是坏习惯。事实上,它被用于整个系统框架。见,例如。
CFStringRef. -
Josh Elias 应该阅读 bbum 的评论。
-
感谢您的澄清!
标签: ios objective-c tbxml