如何使用Xcode Extract重构功能?

时间:2012-08-03 20:34:23

标签: xcode refactoring extract automated-refactoring

如何使用Xcode的 Extract 重构工具?

无论我选择哪种代码,我总会得到同样无用的错误信息。

  

选择内容不包含任何可以提取的内容。做一个   不同的选择,然后再试一次。

请参阅以下屏幕截图: Select the code, and use of the Refactor > Extract... menu

The selection does not contain anything that can be extracted.

我需要遵循什么才能让它发挥作用?

我在一个简单的iOS项目上做这个,没什么特别的,没有C ++。尝试使用最新版本的Xcode(4.4)和更新的最新开发者预览版本。

这是一个错误吗?任何解决方法?

2 个答案:

答案 0 :(得分:2)

由于某些奇怪的原因,如果你有一个没有创建明显的拾取参数返回值的块,如果你包含换行符,XCode会抱怨。在我看来,这是一个错误,因为空白应该被忽略。请确保您不包含换行符。例如,以下内容适用于“Refactor> Extract Method”:

enter image description here

答案 1 :(得分:-2)

自动重构工具在应用请求的重构之前首先检查某些先决条件是否为真。在这种情况下,似乎前提条件失败了。我在XCode中做了很多类似的Extract Method重构,我不知道为什么你选择的代码有问题。也许有一些微妙的依赖在你展示的代码中并不明显。

我不确定我是否称这是一个错误。在开发重构工具时,开发人员总是可以以更复杂的重构逻辑为代价使先决条件变弱。

不能解决您的问题,但可能会有所帮助。