2

我今天弄乱了我的 Objective-C++ 命名空间。

我发现在 ObjC++ 中已经定义了 Handle、Size 和 Duration。它们的定义是什么,它们在哪里定义?

我只有#imported Foundation/Foundation.h

4

2 回答 2

6

MacTypes.h

typedef char *                          Ptr;
typedef Ptr *                           Handle;
typedef long                            Size;
typedef SInt32                          Duration;

这些都早于碳。即使它们填满了命名空间,它们也与 Cocoa 无关。

于 2010-05-18T03:41:14.050 回答
2

您可以在 Xcode 中按住 Command 键双击符号以查看其定义位置,或使用“快速打开”(Command-Shift-D) 并键入符号名称。 HandleSize并且Duration在 CoreServices 框架中,例如。

为避免冲突,您应该始终在全局 Objective-C 名称中使用唯一前缀(通常是您的首字母或项目名称的缩写版本)。看看这个问题的答案,它链接到一些 Objective-C 风格指南。

于 2010-05-18T03:25:09.423 回答