有时我喜欢浏览 Apple 源代码,看看专业人士是如何做到的,有时我会学习一两件事。我现在正在查看 的头文件NSManagedObjectContext.h
,以及它们的全局变量,例如NSManagedObjectContextDidSaveNotification
,它们声明它是这样的:
COREDATA_EXTERN NSString * const NSManagedObjectContextDidSaveNotification;
而通常它只是:
extern NSString * const NSManagedObjectContextDidSaveNotification
Cmd+点击 COREDATA_EXTERN 将我带到它的定义:
#define COREDATA_EXTERN extern
所以COREDATA_EXTERN
等于extern
,所以我的问题是,为什么他们不只是使用extern
?