Objective-C無痛入門
- 作者:Christopher K. Fairbairn,Johannes Fahrenkrug,Collin Ruffenach
- 譯者:江良志
- 出版社:博碩
- 出版日期:2013-07-31
- 語言:繁體中文
- ISBN10:9862017783
- ISBN13:9789862017784
- 裝訂:平裝 / 416頁 / 17 x 23 cm / 普通級 / 單色印刷 / 初版
學習iOS開發時,是否被那奇怪的Objective-C語法給困擾了呢?例如:
NSString *myString = [[NSString alloc] initWithString:@"Hello, World!"];
這是什麼東東啊?要輸出一個Hello, World!有這麼難嗎?
那些 [ ] 是什麼?怎麼類別後面還有一個alloc啊?
哪個是方法的名稱呢?參數在哪裡?
如果你會有這樣的反應,大概你之前的程式語言背景不是C++就是Java/C#。
想要學好iOS的程式設計,搞懂Objective-C是不可避免的基本功。
本書從頭開始讓你重新認識OOP程式設計—「傳送訊息給物件」,並搭配C++/Java/C#的比較,讓你學習起來更容易進入狀況。
簡單來說,訊息有時候就是方法,例如「傳送訊息A給物件」代表「要物件執行方法A」,這樣是不是容易理解多了(當然當中還是有些微的差異,而本書也會提醒您差別在哪裡)。
再舉一個初學者常見的問題,Objective-C方法的參數在哪裡?答案就在方法署名裡,例如下列的方法宣告:
- (void)decreaseRentalByPercent:(float)percentage withMinimum:(float)min;
方法的全名是decreaseRentalByPercent: withMinimum: 。蝦密,方法名稱裡面有「:」,是的,而且「:」還代表參數的數量,所以上述方法有兩個參數(因為有兩個:),名稱分別為percentage與min。這樣說明,應該慢慢懂Objective-C了吧!
這樣做有什麼好處呢?因為這樣在傳遞訊息(呼叫方法)時,就容易在看程式碼時理解要傳送的參數意義是什麼,而不需要再回頭看方法宣告或實作處。
不過也因為這樣,所以Objective-C並沒有多載(overloading)這種機制喔(因為參數已經被方法名稱給描述了,更改參數的數量,方法名稱就不同了)。
以上都是節錄自本書的說明,本書能夠讓你快速理解Objective-C語法,並輔以C++與Java/C#來做說明比較。是一本適合初學Objective-C的學習書籍。
作者簡介
Christopher K. Fairbairn/Johannes Fahrenkrug/Collin Ruffenach
Christopher K. Fairbairn/Johannes Fahrenkrug/Collin Ruffenach是專業的App開發者,在iOS,Windows Phone與Java方面都擁有非常豐富的開發經驗。
PART 1 起手撰寫Objective-C 程式
Chapter 01 初次建立iOS 應用軟體
Chapter 02 資料型別、變數與常數
Chapter 03 第一次接觸物件
Chapter 04 資料儲存與群集物件
PART 2 建立你自己的物件
Chapter 05 建立類別
Chapter 06 擴充類別
Chapter 07 協定
Chapter 08 動態型別檢查與執行時期型別資訊
Chapter 09 記憶體管理
PART 3 充分利用軟體開發框架
Chapter 10 錯誤與例外處理機制
Chapter 11 鍵值編碼與NSPredicate
Chapter 12 讀寫程式資料
Chapter 13 Block 與Grand Central Dispatch
Chapter 14 除錯技巧