zoukankan      html  css  js  c++  java
  • [转]Xcode的重构功能

    Xcode提供了以下几个重构功能:

    • Rename

    • Extract

    • Create Superclass

    • Move Up

    • Move Down

    • Encapsulate

    在菜单栏中的位置如下图:

    001.jpg

    在代码区里直接右键也能出现重构的相关菜单:

    002.jpg


    下面就分别介绍这些重构功能的使用。

    Rename:重命名

    几乎可以试用所有symbol:类名,方法名,函数名,属性名等。使用起来非常简单,选中一个要命名的符号后,选择rename,就会弹出一个输入框让你输入要想要的新名称,输入完成后点击preview可以预览一下。

    003.jpg

    修改一个属性名称后的预览

    Extract:将代码抽取为一个单独的方法或函数

    选中一段代码后(可以包括注释),选择Extract,会分析你选择的代码段后自动生成方法签名。你可以修改方法名,如果参数、返回值不正确也可以自己再修改。

    004.png

    如果选择了function,就是另外一种格式:

    005.png

    在预览时如果发现有些需要调整,可以直接在预览框编辑。
    下面是抽出一个doubleValue方法的预览:

    006.jpg

    Create Superclass:创建父类

    这个很好理解了,就是创建一个当前类的父类。要注意的是要选中类名的时候才能成功触发。
    需要注意的是预览界面最左边的导航区,选择中间一个是这次重构会影响到文件列表。可以点击到这个tab下查看其它类的改动。

    007.png


    如果有警告,会默认显示警告的tab。

    008.png

    Move Up & Move Down

    Move Up:可以将一个方法、实例变量移动到父类中去。触发时和重命名一样,要选中实例名或者方法名后才能正常使用。在category中不适用。

    Move Down:相反,将选中的实例变量移动到子类中。是的,方法就不能移到子类了。逻辑上很难理解为什么是这样。但是苹果爸爸就是这么任性。

    Encapsulate:封装

    这是一个令人怀念的词,多年后看到还是会想起期末考试里面向对象三大特点的填空题。
    这个的作用是在你选中一个变量后,会自动帮你生成get、set方法。
    下面是我将variableStr变量封装后的预览:

    009.jpg

    一些新手可能不太理解这个功能。因为在声明property时就已经自动生成了get、set方法。所以这个功能应该是有点过时了。
    如果用过eclipse的同学可能要呵呵了,这个我们懂。

    一件悲伤的事

    以上这些重构功能并没有快捷键。
    虽然好像有我也记不住啊!
    别这样,白要谁不要。
    那么如果我就是装逼快捷键党,不想让别人知道我选用了这个功能怎么办呢?
    也许全世界你也可以忘记,至少还有key binding值得你去珍惜:

    010.png

    refactor-keybindings.png

    一件更悲伤的事

    喜新厌旧的我在使用swift时,选择了一个extract后,出现了下面的提示框。

    011.png

    我心中:

    013.png

  • 相关阅读:
    3.Appium运行时出现:Original error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device
    3.Python连接数据库PyMySQL
    2.Python输入pip命令出现Unknown or unsupported command 'install'问题解决
    2.Linux下安装Jenkins
    5.JMeter测试mysql数据库
    Android 4学习(7):用户界面
    Android 4学习(6):概述
    Android 4学习(5):概述
    Android 4学习(4):概述
    Android 4学习(3):概述
  • 原文地址:https://www.cnblogs.com/Rinpe/p/5205667.html
Copyright © 2011-2022 走看看