2012-08-17 50 views
4

Xcode是否有辦法顯示方法的調用者函數?我想知道類中某個方法的所有調用函數。一種解決方案是在項目中找到方法,但有時不同的類會有同名的方法 - 這可能會找到我們不想找到的方法..如何知道誰在Xcode中調用方法?

許多其他IDE都具有此功能,例如Visual C++ 2003/2005/2008,Eclipse ...

你可以在XCode中做到這一點嗎?

回答

8

的Xcode 4.4 intrudced此功能: New Features in Xcode 4.4(向下滾動到「查找和搜索增量」)

  1. 將光標放在你有興趣
  2. 功能的頂部
  3. 打開助理編輯或( + + 輸入
  4. 在助理編輯器的頂部,選擇 '主叫方'
    Assistant editor - Callers

  5. 你會看到所有調用了功能的列表中選擇功能
    Assistant editor - dropdown

不像其他IDE那樣有效,但是完成這項工作。

+6

打開上述彈出式菜單的更快方法是突出顯示想要知道調用者的方法並按Ctrl + 1;無需真正打開助理編輯。 – pille 2012-11-20 20:22:32

0

是的。在你的方法中設置一個斷點,然後當它斷裂時,有兩個點可以看到一個堆棧。首先是Xcode的「控制檯」區域(通常是最下面的中間區域),有一個可能不會立即顯示爲可導航的頂欄,但它是一個選擇式UI控件,它包含整個堆棧。選擇不同的級別可以顯示示波器的變量等。將您的編輯器彈出確切的文件(您可以在此處鼠標懸停變量以查看其內存中的實時值)。其次是在左側區域(您通常瀏覽文件的位置)。這裏還有另外一個標籤(除了文件瀏覽器)。底部有一個滑塊,用於控制堆棧中您看到的「步驟」數量;點擊一個有類似的影響。

Xcode showing full stack access on breakpoint

對於簡單的重構等方法重新命名,你可以使用上下文菜單,當你右鍵單擊選擇的方法名,和Xcode的將替換所有相同的選擇在您的項目。但是,這並沒有解決你提到的具有相同簽名方法的不同類。但是,它確實爲您提供了一個非常好的界面,用於查看上下文中的更改並輕鬆地接受或拒絕他們。

然而,可能會注意到,更改方法簽名通常可能是設計不佳的標誌,特別是如果您必須使用在不同類別上具有相同簽名的方法(不是「同級」和因此應該都得到了重命名)

+1

對不起。也許我沒有清楚地表達我的意思。我不想知道在應用程序運行時誰調用了該方法。我想知道每個可能會調用該方法的人。爲了我更改方法時知道誰影響的目的。或者我可以控制這個方法的所有入口。 – qiushuitian 2012-08-17 05:19:11

相關問題