2011-02-11 75 views
2

我喜歡將純粹的內部方法與我的類的公共API分開,所以我的.m文件中有很多專用類別,例如,Xcode中的私有方法

@interface Foo (Foo_Private) 

-(void)clicked:(id)sender; 

@end 

的問題是,當我使用的方法下拉(又名按Ctrl-2),私有方法的聲明都顯示了第一,所以當我開始輸入「點擊」,而下拉是開放的,方法聲明被選中而不是實現,所以我基本不可能通過鍵盤導航。

這真的很煩人。有沒有辦法解決?我見過有人建議你將私有方法聲明放在「Foo_Private.h」中,但我寧願不必爲每個使用私有方法的類創建一個單獨的頭文件。

+0

它適用於iPhone應用程序或Mac應用程序嗎?請注意,您無法在iPhone上「點擊」。只是讓你知道:) – 2011-02-11 00:49:05

+1

他正在談論XCode,而不是iPhone與Mac的發展。 – 2011-02-11 00:51:37

回答

4

如果您在打開功能下拉列表時按住了修飾鍵(具體修飾符取決於Xcode,IIRC的版本),它會按字母順序對其進行排序,而不是按來源順序進行排序。這將允許您鍵入跳轉到正確的方法。

在不相關的說明中,您可以使用類擴展而不是類別。它們看起來像一個類別,除非他們有括號之間的任何東西,因爲在

@interface Foo() 

該上一類主要的好處是你可以聲明(或重新聲明,改變readonly->讀寫)這裏性質得到在@implementation內部合成。