2011-08-22 108 views
142

Xcode中有找到所有調用方法或屬性的地方的方法嗎?例如,在Eclipse中,可以右鍵單擊某個方法並選擇查找參考文獻。 Xcode中有類似的東西嗎?在Xcode中查找方法引用

回答

-11

使用xcode 4,您現在可以右鍵單擊引用並選擇「跳轉到定義」。

+10

這回答了相反的問題。 – Richard

+0

您沒有正確閱讀或理解問題。 – ra170

18

從XCode 4.5開始,您可以在搜索導航器的搜索字段中單擊「顯示查找選項」。在那裏,你可以指定「符號引用」

enter image description here

+2

這是對裸露搜索的輕微改進,但它會返回*全部*引用,而不僅僅是您正在尋找的特定引用。例如,如果你有一個帶有「高度」屬性的類,在你的height屬性上搜索符號引用將返回對你使用的所有其他高度屬性的引用,所以你仍然需要篩選結果來找到你想。對於一個相當不錯的黑客來說,看看這個:http://stackoverflow.com/a/5457479/850721 –

32

是,打開助理編輯器,而不是同行選擇接聽。

enter image description here

+1

你不*有*使用拆分編輯器,雖然它可能會很方便,如果你打算快速連續編輯大量調用方法。看到我的答案。 –

213
  1. 選擇你感興趣的方法,或在其定位的文本光標。
  2. 通過編輯器左上方的圖標打開「相關文件」菜單。 (這是緊接在後退按鈕左側的按鈕)。
  3. 轉到「調用者」子菜單以獲取調用選定方法的所有方法的列表,然後單擊其中任何方法以跳轉到該文件和方法。

在圖片...

Screenshot of steps 1 and 2 above.

Screenshot of step 3 above

有兩點要注意:

  • 您可以爲屬性就此別過。
  • 請注意,當您從呼叫者菜單中選擇呼叫方法以跳轉到調用方法的位置時,Xcode只會突出顯示的第一個呼叫。每個調用方法只會在「調用者」列表中顯示一次,即使調用方法包含很多調用方法。因此,如果您要在應用程序中的每個地方對某個方法進行調用時進行一些更改,請注意不要在調用方法包含對您感興趣的方法的兩次調用的地方錯過某些地方。
+27

在'^ 1'中調出菜單的默認快捷方式,所以我通常可以按'^ 1,c,enter'來調出列表。 –

+0

這找到了方法和父實現的所有調用者。有沒有辦法找到*的調用者只有*這個實現? –

+1

@DanielKaplan我估計不會,因爲至少在某些情況下,編譯器不會有任何方法知道哪個實現將被調用。 –

4

將插入點放入方法調用或聲明中,然後選擇「查找」>「在項目中查找所選符號」。對於多部分選擇器,這隻會突出顯示第一部分,但搜索似乎工作相對可靠。您也可以使用查找調用層次結構來代替整個行。

相應的上下文菜單項(在工作空間中查找選定的符號)也可以使用,但要使其正常工作有點麻煩。確保沒有文本被選中,否則它將搜索選定的單詞而不是整個選擇器。要做到這一點,您可以點擊鼠標左鍵,然後在同一位置單擊鼠標右鍵(或按住Ctrl單擊)。上下文查找調用層次結構沒有這樣的問題。