2014-11-03 79 views
3

我有點困惑與蘋果文件有關的解釋是否使用前綴的方法或不?iOS中的方法需要前綴嗎?

Apple Doc Explanation 1

使用前綴命名類,協議,函數,常量和typedef的結構時。命名方法時不要使用前綴;方法存在於由定義它們的類創建的名稱空間中。另外,不要使用前綴命名的結構

Apple Doc Explanation 2領域:

如果要繼承大Cocoa框架類(如NSViewUIView),你要絕對保證您的私人方法的名稱與超類中的名稱不同,您可以將自己的前綴添加到私有方法中。前綴應儘可能唯一,可能是一個基於貴公司或項目的形式,並且形式爲"XX_"。因此,如果您的項目名爲Byte Flogger,則前綴可能爲BF_addObject

+1

前綴從來沒有必要,他們總是可選的。但是因爲在Objective-C中沒有名稱空間,所以爲所有可以共享作用域的代碼添加前綴是一個不錯的主意。例如,類名稱是全局作用域,iOS中構建的類的子類將與父類共享作用域,因此使用前綴是一個好主意,因爲父類會更改爲具有與您的子類相同名稱的方法。 – 2014-11-03 10:23:45

回答

1

對於包含與項目相關的故事情節/內容的類,不需要前綴。

但是,如果我們使用的是Apple的類的實例中給出,喜歡的UIView到MBView那麼我們就應該添加前綴的方法來在私人類私有方法(在.m文件)擴展一些方法。

0

我認爲你應該使用前綴時,你可以,它可以成爲一個很好的做法,你可以找出,通過你與正在播放你的大軟件的一部分的名稱。

BF前綴:

比方說,你的程序的名字是字節鞭撻者,那麼所有的類都應該開始。 BFBaseList爲爲例,如果你想防止拒絕提交您的應用在AppStore的時候,它也是一個很好的做法來命名方法bfMyMethodName,讓您尊尚CamLCase命名約定。

因此對於圖像,您可以將屬性bfContentMode命名爲Apple而不會被懷疑使用一個私有API功能。

現在,假設您處理一些模塊,核心模塊,網絡模塊等...... 如果您的班級名稱爲BFCObject,您可能知道您正在使用程序的Core對象。

所以它是沒有必要的,但不這樣做可能會迫使你重構你的代碼中提交的最後一刻。在時間驅動的項目中,我甚至不會冒這個風險。

1

這是因爲ObjC不支持namespaces。相反,你應該大寫字母前綴(正如你在文檔中正確閱讀)。你可以閱讀this討論爲什麼要使用它們。

需要注意的是蘋果使用兩個字母前綴(UI(查看),NS(字符串)等),建議程序員使用3個字母前綴。