为什么Xcode中的重构... 变灰(禁用)?
我想重命名一个班级。
答案 0 :(得分:179)
在其头文件中选择类的符号 - 即@interface
之后的位。然后应该启用重构内容。
答案 1 :(得分:26)
如果您使用的是Objective-C ++(即将Objective-C与C ++代码混合使用),则在xcode中禁用重构,因为它不支持重构C ++代码。
答案 2 :(得分:7)
如果未保存受影响的文件(很可能是包含您班级的文件),也可能会禁用重构。
答案 3 :(得分:6)
我已经使用Xcode 5年了,重构从来没有正常工作(即使xcode 4.6有重大错误,它会破坏你的源代码!)。
解决方法始终如此(即使在Apple的代码失败的情况下仍然可以100%工作)
使用此方法我有100%的成功率。我刚尝试在最新的xcode中使用Apple的“Refactor - > Rename”进行重构,但它再次失败了!
(这次出现错误错误:“无法确定语言”,其中一条错误消息是Apple将错误的文字放在适当位置)
答案 4 :(得分:3)
我将在finder上找到我的项目,然后通过获取信息更改文件名。
之后,在 xcode - > Project Navigator 我删除了文件。
最后,我点击课程右键并将文件添加到... ,然后重新添加这些文件。
它对我有用。
答案 5 :(得分:2)
对我来说,我意识到Refactor已被禁用,因为我打开的Xcode项目引用了一个缺少的Base SDK。编辑项目设置,在Build选项卡中将Base SDK设置为您拥有的SDK(就像我这样的iOS 4.2)。这为我启用了Refactor。
答案 6 :(得分:1)
转到您的班级标题文件,找到与此类似的行:
@interface YourClassName
右键单击类符号(例如YourClassName),您应该能够选择Refactor - >重命名...
我刚尝试了这个,它适用于Xcode 5。
答案 7 :(得分:1)
这可能有点晚了,但我偶然发现了这篇文章,因为我无法将我的“ViewController.swift”文件重构为“WhateverViewController.swift”。我尝试在项目导航器中选择文件,然后从顶部菜单中选择“编辑器 -> 重构”,但“重命名”始终显示为灰色。
相反,有效的是从编辑器中选择 ViewController 名称。所以如果你有:
class ViewController: UIViewController {
// Code here...
}
突出显示“ViewController”字样,然后从菜单中选择重构或右键单击并选择重构 -> 重命名。
希望有帮助...
答案 8 :(得分:0)
此外,您可能会重命名该类的文件名,在xcode外部或通过按住Ctrl键单击文件名然后重命名。 如果filename与类名不匹配,xcode拒绝重构。
答案 9 :(得分:0)
也有这个问题。我试图找到丢失的SDK,保存文件,并寻找上面提到的Objective-C ++代码,修复我的机器所需要的只是重启XCode。
似乎还有一辆小马车。
BTW,这是针对XCode 4.0.1
答案 10 :(得分:-1)
重构有效如果您首先在项目导航器中更改文件名。