[轉載]一個小例子介紹Obj-C的函數命名方式,obj-c函數

來源:互聯網
上載者:User

[轉載]一個小例子介紹Obj-C的函數命名方式,obj-c函數

原文連結:http://www.cnblogs.com/liufan9/archive/2013/04/02/2995626.html

 

對於以前做C#或者JAVA開發的朋友而言,初次接觸iOS開發,Obj-C的函數命名方式可能會感覺非常不習慣。

尤其是開啟AppDelegate.m,映入眼帘的代碼竟然是:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    // Override point for customization after application launch.    return YES;}

不知道會不會有朋友和我當初同樣的感覺——天啊,這也太長了!!!

其實,在Obj-C中,上面這個函數的函數名應該是:

- (BOOL)application:didFinishLaunchingWithOptions:

括弧後面跟隨的application和launchOptions是在函數內使用的參數。

我們可以將這個函數解讀為“應用程式:完成啟動使用選項:”。

其中“應用程式”冒號後面的參數顧名思義就是應用程式自身。

而“完成啟動使用選項”冒號後面的參數顧名思義就是啟動的選項。

這裡我用了兩個“顧名思義”,對就是顧名思義!在Obj-C的函數命名的方式有點類似於自然語言,相信大家會像我一樣,隨著對iOS開發的逐漸深入,會越來越適應甚至喜歡這種命名方式的。

下面再舉一個例子,如果我們在java中定義一個加法的函數,大概會用如下方式:

    /**     * 計算a+b的結果     * @param a     * @param b     * @return 返回a+b的和     */    public int add(int a, int b) {        return a + b;    }

在java中定義函數時,通常我們會習慣編寫一個簡單的注釋,如此一來我們可以在程式的其他位置,利用eclipse的智能提示看到這些參數分別代表什麼意思,還可以使用Javadoc工具產生程式文檔。這是非常方便而且有意義的!

而在Obj-C中我們會如何做呢?首先定義一個函數,代碼如下:

- (NSInteger)addA:(NSInteger)a withB:(NSInteger)b {    return a + b;}

而在調用該函數時,Xcode的提示會大概如下所示:

[self addA:(NSInteger) withB:(NSInteger)];

此時,我們可以把這句話解讀成“加A和B”,有沒有覺得更容易理解一些啊?應該會的,呵呵。

在Obj-C中,如果養成良好的函數命名習慣。相信隨著時間的推移,你會發現,需要寫的注釋會越來越少。儘管在Xcode中沒有類似於eclipse的智能提示,但是這並不會妨礙我們一目瞭然地看明白每個函數都是做什麼的,以及它們都需要什麼參數,乃至各個參數都分別應該是什麼類型的。

一起來享受快樂的iOS開發之旅吧~~~

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.