我在一个必须在 3.0 和 2.2.1 下运行的程序中使用 NSMapTable。正如预期的那样,程序编译 2.2.1 库时没有问题,但是当我切换到 3.0 时,我得到编译器错误:
error: expected specifier-qualifier-list before 'NSMapTable'
换句话说,XCode 找不到 NSMapTable 类的声明。我必须在自己的标题中放入前向声明(@class NSMapTable),然后
#import <Foundation/NSMapTable.h>
在我的实现文件中,以便能够使用 NSMapTable。
对此有何解释?或者它只是一个简单的错误?
(我应该指出,我当然在使用NSMapTable的类的头文件中有#import,但仍然需要特定的导入。)