Xcode编辑器默认为 - (void)而不是 - (voidPtr)?

Gor*_*ter 5 xcode objective-c

在Xcode(Snow Leopard上的3.2)当我开始输入诸如的功能时

-(void)myFunctionName {

}
Run Code Online (Sandbox Code Playgroud)

当我第一次开始输入代码提示时

-(voidPtr
Run Code Online (Sandbox Code Playgroud)
  1. void和之间有什么区别voidPtr?我假设这voidPtr是某种指针,在什么情况下要求使用它?我想要使​​用voidPtr而不是void吗?

  2. 我可以在编辑器中更改默认设置的首选项,void然后我可以输入P和tab完成,voidPtr如果我想要的话?

  3. 有没有一种通用的方法来配置或优先处理代码提示,以便在更加模糊的代码提示之前显示常见提示?

  4. 我可以创建代码提示快捷方式吗?我在哪里键入几个字符和命令来扩展常见的样板代码?

  5. 有哪些推荐的练习教程可以在Xcode编辑中获得高效率?

更新:根据Darren的建议,看起来像voidPtr来自

CarbonCore/Threads.h

...

/*
    The following ProcPtrs cannot be interchanged with UniversalProcPtrs because
    of differences between 680x0 and PowerPC runtime architectures with regard to
    the implementation of the Thread Manager.
 */
typedef void *                          voidPtr;
Run Code Online (Sandbox Code Playgroud)

我在Snow Leopard的新鲜香草上运行Xcode.我没有对我的项目做过任何异国情调.刚刚开始介绍Xcode和Objective C的一些非常基础的教程.任何有经验的Objective C人都有这方面有用的背景信息吗?

e.J*_*mes 2

更新:旧版本 Xcode 中的一个错误。错误#7256749 已修复。我刚刚尝试了最新版本的 Xcode,一切都很顺利。

\n\n

历史信息:(适用于 Xcode 4.0 发布之前的 Xcode 版本)

\n\n

如果您开始键入 C 样式函数声明:

\n\n
void SomeFunc(...\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后“void”将作为第一个建议出现。Xcode 的代码感知根据周围的语法应用不同的规则,当您创建 Objective-C 函数声明时,它似乎排除了所有内置类型,包括void.

\n\n

我已向 Apple 提交了一个错误(通过bugreport.apple.com),我建议您也这样做。苹果根据他们看到的给定问题的重复报告的数量来确定软件修复的优先顺序(至少部分)。

\n\n

注意:以下是提交给 Apple 的错误报告的全文:

\n\n
\n

摘要:
\n Xcode 的代码感知会在您键入时提供建议的匹配列表。该列表根据上下文进行过滤。当输入 Objective-C 方法声明时,内置类型(void、int、float 等)将被过滤掉。为了鼓励使用 NSInteger 或 NSNumber,可能会故意省略 int 和 float 等数字类型,但 void 类型仍然一直使用,并且确实应该出现在建议列表中。

\n\n

重现步骤:
\n 1. 打开 Xcode
\n 2. 使用 Cocoa 应用程序模板创建一个新项目
\n 3. 打开应用程序委托头文件
\n 4. 开始创建具有 void 返回类型的方法声明:
\n \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0- (vo
\n 5. 按 escape 键调出建议补全的完整列表

\n\n

预期结果:
\n 我希望在建议列表的顶层看到“void”,并且我希望它被突出显示为最有可能的选择。

\n\n

实际结果:
\n 该列表甚至不包含“void”,所选候选者是“voidPtr”,它在 CarbonCore/Threads.h 中声明

\n\n

回归:
\n 未知,但它肯定会发生在 Mac OS X10.6 上最新版本的 Xcode (3.2 (1610)) 中

\n\n

注意:
\n 请参阅 StackOverflow.com 上的讨论(Xcode 编辑器默认为 -(void) 而不是 -(voidPtr)?

\n
\n