成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個小例子介紹Obj-C的函數(shù)命名方式

移動開發(fā) iOS
代碼永遠會有BUG,在這方面沒有最好只有更好。高效是程序員必須作到的事情,無錯是程序員一生的追求。復用、分而治之、折衷是代碼哲學的基本思想。模塊化與面向對象是實現(xiàn)高效無錯代碼的方法。高效無錯代碼需要思想與實踐的不斷反復。本文介紹了一個小例子,闡述Objective-C的函數(shù)命名方式。

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

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

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

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

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

  1. - (BOOL)application:didFinishLaunchingWithOptions: 

括號后面跟隨的application和launchOptions是在函數(shù)內使用的參數(shù)。

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

其中“應用程序”冒號后面的參數(shù)顧名思義就是應用程序自身。

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

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

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

  1. /** 
  2.  * 計算a+b的結果 
  3.  * @param a 
  4.  * @param b 
  5.  * @return 返回a+b的和 
  6.  */ 
  7. public int add(int a, int b) { 
  8.     return a + b; 

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

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

  1. - (NSInteger)addA:(NSInteger)a withB:(NSInteger)b { 
  2.     return a + b; 

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

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

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

在Obj-C中,如果養(yǎng)成良好的函數(shù)命名習慣。相信隨著時間的推移,你會發(fā)現(xiàn),需要寫的注釋會越來越少。盡管在Xcode中沒有類似于 eclipse的智能提示,但是這并不會妨礙我們一目了然地看明白每個函數(shù)都是做什么的,以及它們都需要什么參數(shù),乃至各個參數(shù)都分別應該是什么類型的。

一起來享受快樂的iOS開發(fā)之旅吧~~~

責任編輯:閆佳明 來源: cnblogs
相關推薦

2013-03-26 10:08:38

LLVM 4.0語法變LLVM 4.0新特性

2013-04-28 10:36:00

Obj-C數(shù)組Obj-C字符串拼接與

2009-07-21 14:55:30

2009-08-26 15:53:42

C#數(shù)據訪問XML

2021-10-21 08:51:01

UndiciNode.jsAPI

2009-07-14 16:02:42

JDBC例子

2009-09-01 16:03:32

C#單元測試

2020-03-26 17:00:53

HashMapputJava

2010-04-19 17:21:36

Oracle寫文件

2011-05-06 14:19:29

ExcelSQL Server

2009-08-13 13:38:30

C#命名規(guī)范

2009-09-01 17:29:51

C#命名規(guī)約

2021-11-30 08:26:59

C++設計模式

2020-11-09 06:38:00

ninja構建方式構建系統(tǒng)

2022-10-19 11:31:49

TDD開發(fā)

2011-06-17 16:09:04

freadfwrite

2017-05-11 13:42:49

JavaScriptJQuery DataDOM

2011-05-27 17:51:00

Android

2009-08-10 10:08:45

.NET調用PHP W

2023-11-28 12:19:49

C++函數(shù)指針
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 可以免费观看的av | 北条麻妃一区二区三区在线视频 | 成人亚洲在线 | 奇色影视 | 精品国产乱码一区二区三 | 久久久青草婷婷精品综合日韩 | 天天综合91 | 日韩精品一区二区三区在线观看 | 久久黄网| 亚洲国产精品区 | 日韩精品在线一区 | 欧美日韩国产精品 | 国产农村妇女精品一二区 | 国产成人精品一区二区三区网站观看 | 久久精品男人的天堂 | 中文字幕人成乱码在线观看 | 红桃视频一区二区三区免费 | 免费观看黄 | 美国a级毛片免费视频 | 欧美成人高清视频 | 中文字幕免费在线 | 亚洲综合大片69999 | 国产美女黄色片 | re久久 | 成人国内精品久久久久一区 | 国产精品久久久久久久久免费樱桃 | 欧美在线a | 国产欧美精品 | 亚洲 欧美 日韩在线 | 国产精品日韩一区二区 | 亚洲精品成人在线 | 中文成人在线 | 久久精品成人一区 | 天天av天天好逼 | 久久久久久久久久久久久91 | 日韩av一区在线观看 | 亚洲精品中文字幕 | 午夜视频一区二区 | 久操av在线 | 国产在线观 | 亚洲一区二区三区四区av |