[转]Xcode的重构功能
Xcode提供了以下幾個重構功能:
-
Rename
-
Extract
-
Create Superclass
-
Move Up
-
Move Down
-
Encapsulate
在菜單欄中的位置如下圖:
在代碼區里直接右鍵也能出現重構的相關菜單:
下面就分別介紹這些重構功能的使用。
Rename:重命名
幾乎可以試用所有symbol:類名,方法名,函數名,屬性名等。使用起來非常簡單,選中一個要命名的符號后,選擇rename,就會彈出一個輸入框讓你輸入要想要的新名稱,輸入完成后點擊preview可以預覽一下。
修改一個屬性名稱后的預覽
Extract:將代碼抽取為一個單獨的方法或函數
選中一段代碼后(可以包括注釋),選擇Extract,會分析你選擇的代碼段后自動生成方法簽名。你可以修改方法名,如果參數、返回值不正確也可以自己再修改。
如果選擇了function,就是另外一種格式:
在預覽時如果發現有些需要調整,可以直接在預覽框編輯。
下面是抽出一個doubleValue方法的預覽:
Create Superclass:創建父類
這個很好理解了,就是創建一個當前類的父類。要注意的是要選中類名的時候才能成功觸發。
需要注意的是預覽界面最左邊的導航區,選擇中間一個是這次重構會影響到文件列表。可以點擊到這個tab下查看其它類的改動。
如果有警告,會默認顯示警告的tab。
Move Up & Move Down
Move Up:可以將一個方法、實例變量移動到父類中去。觸發時和重命名一樣,要選中實例名或者方法名后才能正常使用。在category中不適用。
Move Down:相反,將選中的實例變量移動到子類中。是的,方法就不能移到子類了。邏輯上很難理解為什么是這樣。但是蘋果爸爸就是這么任性。
Encapsulate:封裝
這是一個令人懷念的詞,多年后看到還是會想起期末考試里面向對象三大特點的填空題。
這個的作用是在你選中一個變量后,會自動幫你生成get、set方法。
下面是我將variableStr變量封裝后的預覽:
一些新手可能不太理解這個功能。因為在聲明property時就已經自動生成了get、set方法。所以這個功能應該是有點過時了。
如果用過eclipse的同學可能要呵呵了,這個我們懂。
一件悲傷的事
以上這些重構功能并沒有快捷鍵。
雖然好像有我也記不住啊!
別這樣,白要誰不要。
那么如果我就是裝逼快捷鍵黨,不想讓別人知道我選用了這個功能怎么辦呢?
也許全世界你也可以忘記,至少還有key binding值得你去珍惜:
refactor-keybindings.png
一件更悲傷的事
喜新厭舊的我在使用swift時,選擇了一個extract后,出現了下面的提示框。
我心中:
轉載于:https://www.cnblogs.com/Rinpe/p/5205667.html
總結
以上是生活随笔為你收集整理的[转]Xcode的重构功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java面向对象(3) —— 抽象类、接
- 下一篇: HDU 3435 KM A new Gr