为什么Xcode的codeSense功能有时只能工作?

时间:2009-04-07 18:41:08

标签: iphone xcode

例如,当我输入

[UIView commitAni

然后我希望它完成它像:

[UIView commitAnimations

所以我有:

[UIView commitAnimations];

但是在这里,它没有。虽然我已经包含了CoreGraphics.framework 奇怪:当我尝试其他动画相关的东西时,它的工作原理:

[UIView setAnimationDura

将完成:

[UIView setAnimationDuration:<#(NSTimeInterval)#>

但是这个不会被codeSense识别出来:

[UIView setAnimationTr

...在这里,我希望完成

[UIView setAnimationTransition

但它不会发生。这可能是什么问题? 我不认为我错过了一个包含的框架,因为一切编译得很好并且可以在iPhone模拟器中运行。

5 个答案:

答案 0 :(得分:4)

这似乎是静态代码分析工具(Clang)和CodeSense之间的冲突。看到 http://www.openradar.appspot.com/7338181

我关闭了“运行静态分析器”构建设置并点击了一般的“重建代码感知索引”,它解决了我的问题。但是,我也想要静态代码分析。

答案 1 :(得分:2)

这是(我假设您没有更改键绑定,为简单起见)Cmd-。 “给我下一次完成”或者Cmd-,“给我完成菜单”,或者“等到事情发生并返回”?我经常看到最后一个未能给我完成我想要的完成,其中Cmd-将显示正确的选项。

答案 2 :(得分:1)

通常,当codeSense没有给我正确的完成时,我输入ESC显示所有可能性,然后选择我想要的那个。

当codeSense回答:未找到完成时,大多数情况下对象声明中存在拼写错误或缺少;)]在接近完成请求的地方。

答案 3 :(得分:0)

听起来你可能已经尝试了这个,但是当我得到一个反应迟钝的代码时,我保存了我最近添加的所有文件。似乎保存文件会更新新引用项的codesense范围。

答案 4 :(得分:0)

刚刚使用iphone 3.0 sdk升级到xcode3.1.3。 Codesense不会为UIScreen mainScreen等简单的东西自动完成。它只能找到UIScreen main()。我已经尝试过几次重建索引而没有运气。