我今天弄乱了我的 Objective-C++ 命名空间。
我发现在 ObjC++ 中已经定义了 Handle、Size 和 Duration。它们的定义是什么,它们在哪里定义?
我只有#imported Foundation/Foundation.h
我今天弄乱了我的 Objective-C++ 命名空间。
我发现在 ObjC++ 中已经定义了 Handle、Size 和 Duration。它们的定义是什么,它们在哪里定义?
我只有#imported Foundation/Foundation.h
MacTypes.h
typedef char * Ptr;
typedef Ptr * Handle;
typedef long Size;
typedef SInt32 Duration;
这些都早于碳。即使它们填满了命名空间,它们也与 Cocoa 无关。
您可以在 Xcode 中按住 Command 键双击符号以查看其定义位置,或使用“快速打开”(Command-Shift-D) 并键入符号名称。 Handle
,Size
并且Duration
在 CoreServices 框架中,例如。
为避免冲突,您应该始终在全局 Objective-C 名称中使用唯一前缀(通常是您的首字母或项目名称的缩写版本)。看看这个问题的答案,它链接到一些 Objective-C 风格指南。