發表於2024-11-09
解讀Objective-C和Cocoa特性.全麵涵蓋新技術和新增工具.iPhone、iPad、Mac開發必備.Objective-C是一門麵嚮對象、通用、高級、強大的編程語言。它有著優雅的編程環境,並發揚瞭C語言的優秀特性,是蘋果的iOS和OS X操作係統的主要編程語言。全麵係統地講述瞭Objective-C的基礎知識和麵嚮對象編程的重要概念,結閤實例介紹瞭Cocoa工具包的優秀特性及框架,以及繼承、復閤、對象初始化、類彆、協議、內存管理和源文件組織等重要編程技術,教你如何針對iOS或OS X用戶界麵編寫齣優秀的應用程序。另外,本書第2版新增內容有:
1. Objecitve-C新特性:代碼塊、ARC、類擴展;
2. 新增工具Clang靜態分析器GCD;
3. 如何使用UIKit框架開發精緻的iOS應用程序;
4. 如何使用新版本的Xcode。無論你是初次接觸Objective-C和Cocoa,還是已有豐富的C語言、C++或者Java編程經驗,本書都能讓你輕鬆過渡並熟練掌握Objective-C!
第1章 啓程
1.1 預備知識
1.2 曆史
1.3 內容簡介
1.4 準備工作
1.5 小結
第2章 對C的擴展
2.1 最簡單的Objective-C程序
2.2 解構Hello Objective-C程序
2.2.1 #import語句
2.2.2 框架
2.2.3 NSLog和@“字符串”
2.3 布爾類型
2.4 小結
第3章 麵嚮對象編程的基礎知識
3.1 間接
3.1.1 變量與間接
3.1.2 使用文件名的間接
3.2 在麵嚮對象編程中使用間接
3.2.1 過程式編程
3.2.2 實現麵嚮對象編程
3.3 有關術語
3.4 Objective-C語言中的OOP
3.4.1 @interface部分
3.4.2 @implementation部分
3.4.3 實例化對象
3.4.4 擴展Shapes-Object程序
3.5 小結
第4章 繼承
4.1 為何使用繼承
4.2 繼承的語法格式
4.3 繼承的工作機製
4.3.1 方法調度
4.3.2 實例變量
4.4 重寫方法
4.5 小結
第5章 復閤
5.1 什麼是復閤
5.2 自定義NSLog
5.3 存取方法
5.3.1 設置engine屬性的存取方法
5.3.2 設置tires屬性的存取方法
5.3.3 Car類代碼的其他變化
5.4 擴展CarParts程序
5.5 復閤還是繼承
5.6 小結
第6章 源文件組織
6.1 拆分接口和實現
6.2 拆分Car程序
6.3 使用跨文件依賴關係
6.3.1 重新編譯須知
6.3.2 讓汽車跑一會兒
6.3.3 導入和繼承
6.4 小結
第7章 深入瞭解Xcode
7.1 窗口布局一覽
7.2 改變公司名稱
7.3 使用編輯器的技巧
7.4 在Xcode的幫助下編寫代碼
7.4.1 首行縮進(美觀排版)
7.4.2 代碼自動完成
7.4.3 括號配對
7.4.4 批量編輯
7.4.5 代碼導航
7.4.6 集中精力
7.4.7 使用導航條
7.4.8 獲取信息
7.5 調試
7.5.1 暴力測試
7.5.2 Xcode的調試器
7.5.3 精巧的調試符號
7.5.4 開始調試
7.5.5 檢查程序
7.6 備忘錶
7.7 小結
第8章 Foundation Kit介紹
8.1 穩固的Foundation
8.2 使用項目樣本代碼
8.3 一些有用的數據類型
8.3.1 範圍
8.3.2 幾何數據類型
8.4 字符串
8.4.1 創建字符串
8.4.2 類方法
8.4.3 關於大小
8.4.4 字符串比較
8.4.5 不區分大小寫的比較
8.4.6 字符串內是否還包含彆的字符串
8.4.7 可變性
8.5 集閤大傢族
8.5.1 NSArray
8.5.2 可變數組
8.5.3 枚舉
8.5.4 快速枚舉
8.5.5 NSDictionary
8.5.6 請不要亂來
8.6 其他數值
8.6.1 NSNumber
8.6.2 NSValue
8.6.3 NSNull
8.7 示例:查找文件
8.8 小結
第9章 內存管理
9.1 對象生命周期
9.1.1 引用計數
9.1.2 對象所有權
9.1.3 訪問方法中的保留和釋放
9.1.4 自動釋放
9.1.5 所有對象放入池中
9.1.6 自動釋放池的銷毀時間
9.1.7 自動釋放池的工作流程
9.2 Cocoa的內存管理規則
9.2.1 臨時對象
9.2.2 擁有對象
9.2.3 垃圾迴收
9.2.4 自動引用計數
9.3 異常
9.3.1 與異常有關的關鍵字
9.3.2 捕捉不同類型的異常
9.3.3 拋齣異常
9.3.4 異常也需要內存管理
9.3.5 異常和自動釋放池
9.4 小結
第10章 對象初始化
10.1 分配對象
10.1.1 初始化對象
10.1.2 編寫初始化方法
10.1.3 初始化時要做些什麼
10.2 便利初始化函數
10.3 更多部件改進
10.3.1 Tire類的初始化
10.3.2 更新main函數
10.3.3 清理Car類
10.4 Car類的內存清理(垃圾迴收方式和ARC方式)
10.5 指定初始化函數
10.5.1 子類化問題
10.5.2 Tire類的初始化函數改進後的版本
10.5.3 添加AllWeatherRadial類的初始化函數
10.6 初始化函數規則
10.7 小結
第11章 屬性
11.1 使用屬性值
11.1.1 簡化接口代碼
11.1.2 簡化實現代碼
11.1.3 點錶達式的妙用
11.2 屬性擴展
11.2.1 名稱的使用
11.2.2 隻讀屬性
11.2.3 自己動手有時更好
11.2.4 特性不是萬能的
11.3 小結
第12章 類彆
12.1 創建類彆
12.1.1 開始創建類彆
12.1.2 @interface部分
12.1.3 @implementation部分
12.1.4 類彆的缺陷
12.1.5 類彆的優勢
12.1.6 類擴展
12.2 利用類彆分散實現代碼
12.3 通過類彆創建前嚮引用
12.4 非正式協議和委托類彆
12.4.1 ITunesFinder項目
12.4.2 委托和類彆
12.4.3 響應選擇器
12.4.4 選擇器的其他應用
12.5 小結
第13章 協議
13.1 正式協議
13.1.1 聲明協議
13.1.2 采用協議
13.1.3 實現協議
13.2 復製
13.2.1 復製Engine
13.2.2 復製Tire
13.2.3 復製Car
13.2.4 協議和數據類型
13.3 Objective-C 2.0的新特性
13.4 委托方法
13.5 小結
第14章 代碼塊和並發性
14.1 代碼塊
14.1.1 代碼塊和函數指針
14.1.2 Objective-C變量
14.2 並發性
14.2.1 同步
14.2.2 隊列也要內存管理
14.2.3 操作隊列
14.3 小結
第15章 AppKit簡介
15.1 構建項目
15.2 創建委托文件的@interface部分
15.3 Interface Builder
15.4 設計用戶界麵
15.5 創建連接
15.5.1 連接輸齣口(IBOutlet)
15.5.2 連接操作(IBAction)
15.6 應用程序委托的實現
15.7 小結
第16章 UIKit簡介
16.1 視圖控製器
16.2 小結
第17章 文件加載與保存
17.1 屬性列錶
17.1.1 NSDate
17.1.2 NSData
17.1.3 寫入和讀取屬性列錶
17.1.4 修改對象類型
17.2 編碼對象
17.3 小結
第18章 鍵/值編碼
18.1 入門項目
18.2 KVC簡介
18.3 鍵路徑
18.4 整體操作
18.4.1 休息一下
18.4.2 快速運算
18.5 批處理
18.6 nil仍然可用
18.7 處理未定義的鍵
18.8 小結
第19章 使用靜態分析器
19.1 靜態工作
19.1.1 開始分析
19.1.2 協助分析器
19.1.3 瞭解更多
19.2 小結
第20章 NSPredicate
20.1 創建謂詞
20.2 計算謂詞
20.3 數組過濾器
20.4 格式說明符
20.5 運算符
20.5.1 比較和邏輯運算符
20.5.2 數組運算符
20.6 有SELF就足夠瞭
20.7 字符串運算符
20.8 LIKE運算符
20.9 結語
附錄 從其他語言轉嚮Objective-C
索引
不僅可以將一個類的實現代碼分散到多個不同的源文件中,還可以分散到多個不同的框架中。NSString是Foundation框架中的一個類,包含瞭許多麵嚮數據的類,如字符串、數字和集閤。所有的視覺組件(如窗口、顔色和繪圖等)都包含在AppKit和uIKit中。雖然NSString類是在Foundation框架中聲明的,但是AppKit中有一個Nsstring的類彆,稱為NSStringDrawing,該類彆允許你嚮字符串發送繪圖消息。在繪製一個字符串時,該方法會將字符串的文本渲染到屏幕上。由於這是一種圖形功能,所以它是AppKit框架中的方法。不過Nsstring又是Foundation框架的對象。cocoa的設計人員通過類彆使數據功能放在Foundation框架中,而繪圖功能放在AppKit框架中。作為編程人員,我們直接使用NSStrin9類即可,通常不必關心某個方法來自何處。
12.3通過類彆創建前嚮引用
前麵提到過,Cocoa沒有任何真正的私有方法。如果你知道對象支持的某個方法的名稱,即使該對象所在的類的接口中沒有聲明該方法,你也可以調用它。
不過,編譯器會盡力提供幫助。如果編譯器發現你調用對象的某個方法,但是卻沒有找到該方法的聲明或定義,那麼它將發齣這樣的錯誤提示:warning:'CategoryThin9·may not respond to—setThing4:'。通常情況下,這種錯誤提示是有益的,因為它將有助於你捕捉許多輸入錯誤。
不過,如果你的某些方法的實現使用瞭在類的@interface部分未列齣的方法,編譯器的這種警惕性會帶來一些問題。對於為什麼不想在類的@interface部分列齣自己的全部方法,有許多充分的理由。這些方法可能是純粹的實現細節,你可能將根據方法的名稱來確定要使用哪個方法。但是不管怎樣,如果你在使用自己的方法之前沒有聲明它們,編譯器就會提齣警告。而修復掉所有的編譯器警告是一種良好的習慣,那麼該如何去做呢?
如果能夠先定義一個方法然後再使用它,編譯器將會找到你的方法定義,因而不會産生警告。但是,如果不方便這樣做,或者你使用的是另一個類中尚未發布的方法,那麼就需要采取其他措施。通過類彆來救急隻要在類彆中聲明一個方法,編譯器就會錶示:“好瞭,該方法已經存在,如果遇到編程人員使用該方法,我不會提齣警告。”實際上,如果你不想實現這個方法的話,放著不管就可以瞭。
常用的策略是將類彆置於實現文件的最前麵。假設car類有一個名為rotateTires的方法。我們可以使用另一個名為moveTireFromPosition:toPosition:的方法來實現rotateTires方法,以交換兩個位置的輪胎。第二個方法是實現細節,而不是將其放在car類的公共接口中。通過在類彆中聲明moVeTireFromPosition:toPosition:方法,rotateTires方法可以使用它,但不會引發編譯器産生警告。
……
Objective-C基礎教程 第2版 下載 mobi pdf epub txt 電子書 格式 2024
Objective-C基礎教程 第2版 下載 mobi epub pdf 電子書這本比較經典的書,還在看很不錯,快遞不錯
評分早上下單,下午就收到瞭,京東配送?
評分不錯,不錯,不錯,不錯,鬍扯
評分快遞速度很快,書的質量挺好,比較滿意!
評分權威指南,希望學會ios
評分缺貨都不主動通知哈,害我等好久
評分好書值得推薦
評分感覺還不錯
評分假的,盜版書,服瞭,京東。。。封麵是花的,內文紙張這周印刷網點不實,盜版書還賣這麼貴。。。
Objective-C基礎教程 第2版 mobi epub pdf txt 電子書 格式下載 2024