我一直在使用Google在Objective-C中提供的GDataXMLNode.m,我注意到他们在其实现(.m)文件中执行了@class
转发声明。他们这样做:
@class NSArray, NSDictionary, NSError, NSString, NSURL;
这是为什么?这样做是否有任何真正的优化?
答案 0 :(得分:2)
我不认为他们在编译中扮演任何角色,因为它们也存在于.h
文件中,因此它们只是一个副本。此外,.h
文件已经导入Foundation.h
,因此这些前向声明只是多余的。
也许它们被用作GDataXMLNode
与其他类的依赖关系文档的形式。