3

我一直在使用Google 在 Objective-C 中提供的GDataXMLNode.m,我注意到他们@class在他们的实现 (.m) 文件中做了一个前向声明。他们这样做:

@class NSArray, NSDictionary, NSError, NSString, NSURL;

为什么是这样?这样做有没有真正的优化?

4

1 回答 1

2

我认为它们在编译中没有任何作用,因为它们也存在于.h文件中,所以它们只是一个副本。此外,.h文件已经 import Foundation.h,因此那些前向声明只是多余的。

也许它们被用作GDataXMLNode与其他类具有依赖关系的一种文档形式。

于 2013-01-25T11:30:00.800 回答