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

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

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

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

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

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

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

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

  1. - (BOOL)application:didFinishLaunchingWithOptions: 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2013-03-26 10:08:38

LLVM 4.0語法變LLVM 4.0新特性

2013-04-28 10:36:00

Obj-C數組Obj-C字符串拼接與

2009-07-21 14:55:30

2009-08-26 15:53:42

C#數據訪問XML

2021-10-21 08:51:01

UndiciNode.jsAPI

2009-09-01 16:03:32

C#單元測試

2009-07-14 16:02:42

JDBC例子

2009-08-13 13:38:30

C#命名規范

2009-09-01 17:29:51

C#命名規約

2020-03-26 17:00:53

HashMapputJava

2010-04-19 17:21:36

Oracle寫文件

2011-05-06 14:19:29

ExcelSQL Server

2021-11-30 08:26:59

C++設計模式

2022-10-19 11:31:49

TDD開發

2020-11-09 06:38:00

ninja構建方式構建系統

2011-06-17 16:09:04

freadfwrite

2023-11-28 12:19:49

C++函數指針

2011-05-27 17:51:00

Android

2011-07-07 10:21:56

2017-05-11 13:42:49

JavaScriptJQuery DataDOM
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一本大道久久a久久精二百 国产成人免费在线 | 特一级毛片 | 国产免费福利 | 国产精品一区二区不卡 | 老司机免费视频 | 久久久久久一区 | 日韩福利| 在线观看成人精品 | 麻豆av网| 午夜影院视频 | av中文字幕在线观看 | 国产精品国产精品国产专区不片 | 黄色大片免费网站 | 亚洲精品乱码久久久久久9色 | 日韩在线视频一区二区三区 | 亚洲国产精品久久久久婷婷老年 | 欧美综合一区二区 | caoporn国产精品免费公开 | 国产精品视频一区二区三区四蜜臂 | 亚洲精品高清视频 | 精品国产乱码久久久久久丨区2区 | 中文字幕在线视频免费观看 | 五月综合激情在线 | 国产资源在线视频 | 国产成人亚洲精品自产在线 | 91亚洲精选 | 久久精品在线 | 亚洲一区二区三区在线视频 | 午夜影院污 | 亚洲黄色片免费观看 | 99riav3国产精品视频 | 999久久久国产精品 欧美成人h版在线观看 | 国产精品亚洲一区 | 97伦理电影网 | 国产精品一卡二卡三卡 | 麻豆国产一区二区三区四区 | 欧美激情 一区 | 午夜a区| 亚洲一区国产精品 | 国产精品高潮呻吟久久 | 日本免费一区二区三区视频 |