| | | macOS應用開發基礎教程(異步圖書出品) | 該商品所屬分類:圖書 -> 人民郵電出版社 | 【市場價】 | 1038-1504元 | 【優惠價】 | 649-940元 | 【作者】 | 趙君衛張帆 | 【出版社】 | 人民郵電出版社 | 【ISBN】 | 9787115486400 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
![](/c49/99/12417409.jpg)
出版社:人民郵電出版社 ISBN:9787115486400 版次:1 商品編碼:12417409 品牌:異步圖書 包裝:平裝 開本:16開 出版時間:2018-09-01 用紙:膠版紙 頁數:586 正文語種:中文 作者:趙君衛,張帆
" 編輯推薦 · macOS 應用開發工程師全力打造,圖文並茂,並提供豐富且詳細的示例,致力於幫助讀者開發出強大的生產力工具。 · 對macOS 平臺中的AppKit 控件做了詳細介紹,每章提供完整的示例代碼,幫助讀者更好地理解相關內容。 · 為想學macOS 開發的初學者,由淺入深地介紹應用開發的完整過程,讓讀者學會獨立開發自己的應用。 · 基於Xcode 9.0和Swift 4.0語法編寫。 本書以Swift 語言為基礎介紹masOS 平臺應用開發,分為8 大部分,共計38 章。D一部分講述視圖、窗口和繫統控件,D二部分介紹自動布局、窗口控制器和視圖控制器,第三部分講解核心服務框架,第四部分給出與文檔和數據存儲相關的內容,第五部分為網絡和多線程處理,第六部分是圖形和動畫,第七部分為擴展議題,第八部分是項目開發和實踐。
本書立足普及基本的macOS 應用開發知識,力求每個知識點的講解都簡明扼要,並通過代碼示例讓讀者盡快學以致用,非常適合macOS 應用開發的初學者閱讀。但是,本書沒有介紹Swift 開發語言,閱讀本書需要讀者具備Swift 相關的基礎知識。 內容簡介 本書是Swift版本的macOS應用開發教程。本書全面介紹和說明了macOS平臺中應用開發的繫統控件,詳細闡述和探討了應用開發的常用組件、繫統框架、應用沙盒處理、上架流程、生產力工具開發等內容,並配有豐富的示例講解。書中還介紹了幾個小型的演示項目,剖析了開發過程、開發思路和關鍵流程代碼,力求讓讀者從基礎知識和項目實踐等多個維度去理解和掌握macOS平臺的應用開發。 本書立足普及基本的macOS應用開發知識,力求每個知識點的講解都簡明扼要,並通過代碼示例演示讓讀者盡快學以致用,非常適合macOS應用開發的初學者閱讀。但是,本書中並沒有介紹Swift的基礎語法,閱讀本書需要讀者了解Swift的知識。 作者簡介 趙君衛(微博@劍指人心),中國早期的iOSkai發者,負責開發了zhu名的LBS交友App“飄信”,曾擔任蘇寧易購移動技術團隊負責人、途牛金融移動技術總監;2014年開始接觸macOS應用開發,獨立開發了macOS平臺上UI設計工具AppX;創建了macOS應用開發網站macdev,彙聚與macOS相關的開發資源,崇尚自動化開發的理念,打造先進的生產力工具。
張帆(微博@AB人生-東門吹牛西門吹雪),留美博士,專注於計算機和互聯網技術在諸如信息安全、通信電子、醫療健康等特定行業的應用,擅長iOS和.NET開發;曾在美國微軟總部和飛利浦醫療北美總部任職;入選浙江省“千人計劃”;曾任新加坡國立大學訪問學者,現任浙江大學信息與電子工程學院和浙江大學網絡空間安全研究中心副教授,同時也是新加坡科技設計大學訪問教授。 目錄 第 1章準備工作 1 1.1Mac電腦1 1.2Xcode使用介紹1 1.2.1Xcode工作區2 1.2.2xib界面設計相關的工作區和菜單3 1.3工程結構5 1.3.1使用xib方式創建的工程5 1.3.2使用storyboard方式創建的工程11 第2章 窗口對像13 2.1窗口界面的組成14 2.2模態窗口16 2.2.1模態窗口16 2.2.2模態會話窗口16 2.3編程控制窗口17 2.3.1創建窗口對像17 2.3.2窗口通知18 2.3.3NSWindow的contentView18 2.3.4設置窗口的image和title19 2.3.5設置窗口的背景顏色19 2.3.6關閉窗口時終止應用19 2.3.7在窗口標題區域增加視圖20 2.3.8NSWindow如何正確地保證居中顯示21 2.3.9窗口顯示位置控制21 2.3.10應用關閉後點擊Dock菜單再次 打開應用21 2.4窗口的創建和管理21 第3章視圖和滾動條23 3.1基本視圖23 3.1.1坐標繫統23 3.1.2frame和bounds24 3.1.3坐標轉換25 3.1.4視圖管理25 3.1.5視圖查找25 3.1.6視圖的autoSize控制25 3.1.7視圖的layer屬性27 3.1.8視圖繪制27 3.1.9事件響應28 3.1.10視圖的frame/bounds變化通知28 3.2增效視圖29 3.3滾動條視圖31 3.3.1滾動條視圖工作原理31 3.3.2用代碼創建滾動條視圖32 3.3.3滾動到zhi定的位置32 3.3.4用代碼實現文本視圖滾動的示例33 3.3.5滾動條的顯示控制34 第4章基本控件35 4.1控件的分類35 4.2控件家族類圖譜35 4.2.1NSResponder37 4.2.2NSView38 4.2.3NSControl38 4.2.4NSCell38 4.2.5小結39 4.3文本框39 4.3.1UI屬性說明40 4.3.2事件響應40 4.3.3文本內容的讀取或修改41 4.3.4特殊按鍵響應處理41 4.4文本視圖42 4.4.1UI屬性說明42 4.4.2事件響應43 4.4.3文本的格式化顯示43 4.4.4文本框高度根據文字高度自適應增長44 4.5文本搜索框44 4.6文本標簽46 4.6.1UI屬性說明46 4.6.2用代碼創建文本標簽46 4.7按鈕48 4.7.1UI屬性說明48 4.7.2事件響應48 4.7.3連接事件49 4.7.4用代碼創建按鈕49 4.7.5圖片按鈕的創建49 4.8復選框50 4.8.1UI屬性說明51 4.8.2事件響應51 4.9單選按鈕51 4.9.1UI屬性說明51 4.9.2事件響應52 4.10分段選擇控件52 4.10.1UI屬性說明53 4.10.2事件響應53 4.10.3分段大小的控制53 4.10.4分段樣式風格的控制53 4.11組合框54 4.11.1UI屬性說明54 4.11.2事件響應55 4.11.3動態增加列表內容55 4.11.4使用數據源和代理55 4.12彈出式按鈕56 4.12.1UI屬性說明56 4.12.2動態列表項配置56 4.12.3事件響應57 4.13滑杆57 4.13.1屬性設置57 4.13.2水平和垂直方向設置57 4.13.3事件綁定58 4.14日期選擇器58 4.14.1UI屬性說明58 4.14.2獲取日期59 4.14.3日期變化的事件59 4.15步進器59 4.15.1UI屬性說明60 4.15.2事件響應60 4.15.3文本框數據與步進器保持同步60 4.16進度指示器60 4.16.1UI屬性說明61 4.16.2啟動指示器動畫61 4.16.3更新指示器進度61 4.16.4停止指示器動畫61 4.16.5用代碼創建進度指示器62 4.17圖像視圖62 4.17.1UI屬性說明62 4.17.2圓角處理62 4.18分組框63 4.18.1UI屬性說明63 4.18.2用代碼創建分組框63 4.19分欄視圖64 4.19.1重要屬性和方法說明64 4.19.2用代碼創建分欄視圖65 4.19.3自定義分欄視圖樣式風格65 4.19.4分欄視圖中的子視圖控制66 4.19.5分欄視圖子視圖的隱藏和顯示68 4.20集合視圖68 4.20.1集合視圖的content69 4.20.2NSCollectionViewItem69 4.20.3綁定模型到視圖70 4.20.4使用數據源方式管理集合視圖71 4.20.5實現集合視圖的高亮選擇73 4.20.6集合視圖的背景設置75 4.20.7集合視圖的布局管理器75 4.20.8設置集合視圖的頂部頭和底部尾77 4.20.9用代碼創建集合視圖79 4.21選項卡視圖79 4.21.1UI屬性說明80 4.21.2代理協議NSTabViewDelegate80 4.21.3動態增加選項卡80 4.21.4用無邊風格的選項卡進行切換控制81 4.22彈出式氣泡82 4.22.1重要屬性82 4.22.2使用示例83 第5章面板和警告框84 5.1面板84 5.1.1UI屬性說明85 5.1.2顯示面板85 5.1.3隱藏面板86 5.1.4文件打開面板86 5.1.5文件保存面板88 5.1.6顏色選擇面板88 5.1.7字體選擇面板89 5.2警告框89 5.2.1UI屬性說明89 5.2.2添加按鈕90 5.2.3使用示例90 5.3使用獨立的xib文件創建面板類91 第6章工具欄和菜單94 6.1工具欄94 6.1.1創建工具欄94 6.1.2UI屬性說明95 6.1.3NSToolbarItem的屬性說明96 6.1.4事件響應96 6.1.5創建非標準的工具欄項97 6.1.6驗證工具欄項97 6.1.7用代碼創建工具欄98 6.1.8工具欄與窗口控制按鈕融合顯示99 6.2菜單99 6.2.1UI屬性說明100 6.2.2增加菜單101 6.2.3彈出式菜單101 6.2.4設置上下文菜單102 6.2.5Dock菜單102 6.2.6用代碼創建菜單103 6.2.7獲取應用默認的菜單104 6.2.8菜單有效性驗證104 6.3狀態條105 6.3.1NSStatusBar類的對像關繫105 6.3.2NSStatusBar的使用方式105 6.3.3狀態條增加彈出視圖107 第7章表視圖109 7.1表視圖109 7.1.1使用xib創建表格109 7.1.2表格樣式設置112 7.1.3表格數據顯示配置112 7.1.4表格事件119 7.1.5創建表格上下文菜單120 7.1.6數據排序120 7.1.7數據拖放121 7.1.8表格數據獲取121 7.1.9編輯表格內容121 7.1.10動態增加/刪除表格行122 7.1.11用代碼創建表格123 7.1.12代碼控制選中行125 7.1.13表格行選中顏色定制126 7.2大綱視圖控件126 7.2.1節點模型定義127 7.2.2初始化模型數據128 7.2.3實現數據源協議128 7.2.4實現代理方法,綁定數據到節點視圖129 7.2.5節點選擇的變化事件通知129 7.2.6動態增加節點130 7.2.7動態刪除節點130 7.2.8代碼控制行的展開和選中131 7.2.9修改節點展開關閉的默認圖標132 7.2.10鼠標右鍵上下文菜單133 第8章自動布局134 8.1自動布局的原理134 8.1.1傳統的布局134 8.1.2自動布局135 8.2棧視圖137 8.3Xcode中的自動布局設置138 8.3.1Stack139 8.3.2Align140 8.3.3Pin140 8.3.4Resolve141 8.4自動布局的多種解決方案141 8.4.1一個問題的多種解決方案142 8.4.2約束選擇的原則和建議144 8.5自動布局使用示例144 8.5.1兩個視圖大小相同144 8.5.23個View大小相同145 8.5.3文本標簽和輸入框145 8.5.4文本標簽動態字體和輸入框146 8.5.5多行文本標簽和輸入框146 8.5.6多行文本標簽動態字體和輸入框147 8.5.7兩個視圖大小相同、水平方向的間距相同148 8.5.8簡單的Stack View149 8.5.9復雜界面未使用棧視圖150 8.5.10復雜界面使用多個嵌套棧視圖151 8.6滾動條視圖使用自動布局151 8.7通過代碼設置自動布局約束153 8.7.1使用NSLayoutConstraint類153 8.7.2使用NSLayoutAnchor155 8.7.3使用VFL定義約束關繫155 8.7.4使用第三方庫AutoLayoutX155 第9章窗口控制器157 9.1xib中窗口的加載創建過程157 9.2手工創建窗口需要注意的問題160 9.3窗口控制器和窗口的關繫161 9.4將AppDelegate中窗口的管理功能分離161 9.5窗口切換後對像失去焦點問題163 第10章 視圖控制器164 10.1視圖控制器164 10.1.1視圖生命周期過程165 10.1.2創建視圖控制器的3種方式166 10.1.3representedObject屬性167 10.1.4子視圖控制器管理168 10.1.5兩個視圖控制器之間的切換方法169 10.1.6Storyboard中的視圖控制172 10.1.7視圖中手勢識別174 10.2選項卡控制器175 10.2.1使用NSTabView創建選項卡視圖175 10.2.2使用NSTabViewController管理選項卡視圖176 10.2.3使用Storyboard方式創建176 10.2.4選項卡選中事件177 10.3分欄視圖控制器178 10.3.1控制器的幾個重要的屬性和方法178 10.3.2NSSplitViewItem179 10.3.3NSSplitView179 10.3.4使用Storyboard創建分欄視圖控制器179 10.3.5用代碼創建分欄視圖控制器180 10.3.6可折疊的視圖控制181 10.4視圖控制器與窗口控制器的關繫183 10.4.1視圖與窗口183 10.4.2視圖控制器與窗口控制器183 10.4.3不依賴xib和storyboard,純代碼實現應用184 10.5使用窗口控制器和視圖控制器實現簡單登錄流程186 10.5.1登錄流程的基本工程實現186 10.5.2代碼控制啟動的控制器190 10.5.3登錄頁面使用效果美化190 10.5.4登錄頁面純代碼實現192 10.5.5整個工程純代碼實現195 10.6滾動條視圖gao級用法195 10.6.1滾動條視圖顯示多個按鈕195 10.6.2滾動條視圖處理分頁滑動199 第11章 鼠標和鍵盤事件206 11.1事件的分發過程206 11.2事件中的兩個核心類207 11.2.1NSResponder207 11.2.2NSEvent207 11.3鼠標事件208 11.3.1鼠標點擊208 11.3.2鼠標拖放209 11.3.3鼠標區域跟蹤210 11.3.4模擬鼠標點擊選中212 11.4鍵盤事件213 11.4.1快捷鍵213 11.4.2控制鍵214 11.5按鍵綁定事件215 11.5.1繫統綁定的按鍵事件215 11.5.2文字輸入216 11.6事件監控218 11.7動作消息218 11.8在視圖控制器中處理事件219 第12章 撤銷/重做操作220 12.1撤銷/重做流程分析220 12.2實現原理222 12.3撤銷/重做動作的管理223 12.3.1NSUndoManager的創建223 12.3.2注冊撤銷動作223 12.3.3清除撤銷動作224 12.3.4禁止注冊撤銷動作224 12.3.5撤銷動作命名224 12.3.6撤銷組224 12.4撤銷棧的深度224 12.5撤銷/重做通知消息225 12.6撤銷/重做編程示例225 第13章 拖放操作227 13.1拖放開始227 13.1.1拖放數據定義227 13.1.2拖放的可視化圖像設置229 13.1.3拖放源事件229 13.1.4拖放源協議NSDraggingSource230 13.2拖放接收231 13.2.1注冊接收的拖放類型231 13.2.2拖放目標方協議231 13.2.3拖放接收方處理過程231 13.3拖放端到端編程232 13.3.1拖放源類DragSourceView232 13.3.2拖放目標類233 13.3.3視圖控制器中拖放源初始化235 13.4常見的拖放示例236 13.4.1文件拖放處理236 13.4.2表格視圖的拖放處理237 13.4.3大綱視圖的數據拖放處理239 第14章 Cocoa數據綁定243 14.1KVC243 14.1.1KVC屬性讀寫接口244 14.1.2KVC路徑訪問相關接口244 14.1.3批量屬性訪問接口244 14.2KVO245 14.2.1KVO相關接口245 14.2.2手工管理KVO246 14.2.3KVO的簡單例子247 14.3KVB248 14.3.1傳統的數據更新流程249 14.3.2使用綁定技術簡化更新流程249 14.3.3實現綁定依賴的關鍵點252 14.3.4KVB綁定的處理流程253 14.3.5使用NSArrayController管理數據254 14.3.6使用NSTreeController管理數據256 第15章 藍牙框架261 15.1藍牙數據交換流程261 15.2藍牙框架中的相關類262 15.2.1外圍設備相關263 15.2.2數據中心相關263 15.2.3服務相關263 15.2.4特征值相關263 15.3外圍設備的工作流程263 15.3.1繫統初始化上電263 15.3.2創建服務264 15.3.3創建特征值264 15.3.4服務與特征值關聯264 15.3.5發布服務264 15.3.6廣播服務265 15.3.7數據讀寫請求265 15.3.8訂閱請求處理266 15.4數據中心工作流程266 15.4.1繫統初始化上電266 15.4.2搜索外圍設備267 15.4.3建立連接267 15.4.4查詢服務267 15.4.5查詢服務特征值267 15.4.6服務特征讀請求268 15.4.7服務特征值寫268 15.4.8服務訂閱269 第16章 Bonjour協議270 16.1Bonjour服務命名規則271 16.2Bonjour協議API棧271 16.3Bonjour核心流程271 16.3.1服務發布272 16.3.2服務發現272 16.3.3地址解析273 16.4Bonjour編程273 16.4.1服務發布273 16.4.2服務發現274 16.4.3直接使用Bonjour進行數據發送274 16.4.4需要注意的問題275 第17章 繫統服務276 17.1服務處理流程277 17.2服務定義277 17.3服務提供方編程279 17.3.1實現服務功能接口279 17.3.2聲明服務280 17.3.3注冊服務281 17.3.4測試服務功能281 17.4服務使用方編程282 17.4.1注冊數據類型282 17.4.2菜單有效性校驗282 17.4.3發送數據到剪貼板283 17.4.4從剪貼板讀取結果數據283 第18章 XPC服務284 18.1XPC架構284 18.2XPC編程實現285 18.2.1XPC服務接口對像285 18.2.2XPC服務方編程285 18.2.3XPC服務請求方編程287 18.2.4XPC服務接口反向調用288 第19章 消息推送290 19.1本地消息通知290 19.1.1注冊本地消息通知290 19.1.2實現本地消息代理協議方法291 19.1.3取消本地通知291 19.1.4程序控制發送消息通知292 19.2遠程消息通知292 19.2.1推送消息的處理流程292 19.2.2請求消息推送注冊293 19.2.3設備293 19.2.4推送消息接收293 19.2.5提供者消息發送294 19.2.6消息格式294 19.2.7Feedback服務295 19.2.8消息推送環境的證書配置295 19.2.9推送消息的發送296 第20章 多文檔應用298 20.1文檔應用中的關鍵對像298 20.1.1文檔控制器298 20.1.2文檔模型299 20.1.3文檔窗口控制器299 20.2創建基於文檔的工程299 20.2.1Document Types300 20.2.2Exported UTIs301 20.2.3文檔編程模板工程301 20.3wrapper方式讀取文件303 20.3.1創建NSFileWrapper管理文件304 20.3.2從NSFileWrapper實例讀取內容304 20.3.3支持NSFileWrapper文件的工程配置305 20.3.4完整的FileWrapper工程示例305 20.4文檔處理流程309 20.4.1新建文檔流程309 20.4.2打開文檔流程309 20.4.3保存文檔流程310 20.4.4導出文件流程310 20.5文檔應用開發步驟310 20.6文檔應用中的撤銷/重做支持311 20.7文檔應用管理個人檔案312 20.7.1個人檔案數據模型312 20.7.2文檔數據以普通文件方式存儲313 20.7.3文檔數據以wrapper方式存儲316 第21章 iCloud同步320 21.1容器320 21.2iCloud數據存儲321 21.2.1iCloud文檔數據處理流程321 21.2.2iCloud文檔本地目錄323 21.3鍵值存儲324 21.3.1鍵值存儲接口324 21.3.2鍵值存儲限制324 21.3.3鍵值存儲數據變化通知325 21.3.4鍵值存儲處理流程325 21.4iCloud開發前準備工作325 21.5容器數據在多個App間共享327 21.5.1鍵值存儲數據的App間共享訪問327 21.5.2文檔數據的App間共享訪問328 21.6數據衝突328 21.6.1鍵值數據衝突328 21.6.2文檔類型數據衝突328 第22章 CloudKit329 22.1使用Dashboard後臺管理數據330 22.2容器共享332 22.3創建記錄結構333 22.4CloudKit數據操作334 22.4.1保存數據334 22.4.2刪除數據336 22.4.3查詢數據336 22.4.4數據關聯reference337 22.4.5批量查詢數據操作337 22.5訂閱數據變化通知338 22.5.1創建訂閱338 22.5.2注冊消息推送338 22.6生產環境部署339 第23章 Core Data340 23.1Core Data對像棧341 23.2在項目中使用Core Data341 23.2.1數據增加345 23.2.2數據刪除346 23.2.3數據修改346 23.2.4數據查詢346 23.3模型間關繫347 23.3.1一對一347 23.3.2一對多348 23.3.3多對多348 23.4使用Bindings綁定管理對像350 23.5撤銷/重做操作的支持353 23.6版本升級遷移354 23.6.1輕量級遷移354 23.6.2基於模型映射的遷移357 第24章 HTTP網絡編程360 24.1簡單的數據請求361 24.1.1使用繫統默認方式創建URLSession361 24.1.2使用自定義的代理方法創建URLSession362 24.1.3創建URLSession使用POST方式傳遞數據363 24.2文件下載364 24.2.1創建下載任務364 24.2.2實現下載代理協議364 24.3文件上傳365 24.3.1流式文件上傳客戶端代碼編寫365 24.3.2表單文件上傳客戶端代碼編寫366 24.4緩存368 24.5Cookie管理369 24.5.1Cookie編程370 24.5.2Cookie的一些使用場景370 24.6斷點續傳371 24.7基於URLSessionDataTask封裝的網絡處理工具類372 24.7.1網絡處理工具類實現分析372 24.7.2HTTPClient工具類實現373 第25章 多線程377 25.1GCD377 25.1.1分發隊列377 25.1.2GCD多線程編程378 25.1.3GCD實際使用的例子382 25.2OperationQueue384 25.2.1BlockOperation384 25.2.2Operation385 25.2.3設置任務間的依賴386 25.2.4設置Operation執行完的回調387 25.2.5取消任務387 25.2.6暫停或恢復隊列的執行387 25.2.7任務執行的優先級387 25.3Thread388 25.3.1線程創建方式388 25.3.2Thread類中的關鍵方法和屬性389 25.3.3線程中的共享資源保護390 第26章 事件循環393 26.1RunLoop的模式393 26.2RunLoop類394 26.3RunLoop的活動狀態395 26.4定時器396 26.5RunLoop中的輸入源397 26.6RunLoop事件處理流程398 26.7RunLoop使用場景398 第27章 繪圖技術399 27.1繪圖上下文399 27.2坐標繫統399 27.2.1笛卡兒坐標399 27.2.2屏幕坐標與本地坐標400 27.2.3坐標變換400 27.3顏色與透明度403 27.3.1顏色模型和顏色空間403 27.3.2創建顏色403 27.3.3在繪圖上下文中使用顏色404 27.3.4從繫統顏色面板獲取顏色的方式404 27.4繪圖狀態405 27.5圖像406 27.5.1圖像內部緩存406 27.5.2圖像大小406 27.5.3圖像的坐標繫統406 27.5.4圖像繪制方法407 27.5.5圖像創建或加載407 27.5.6屏幕圖像的捕獲408 27.5.7圖像的格式轉換409 27.6陰影和漸變409 27.6.1陰影409 27.6.2漸變410 27.7文本繪制413 27.7.1文本屬性參數413 27.7.2String的繪制方法413 27.8使用路徑繪圖414 27.8.1路徑的樣式415 27.8.2點418 27.8.3線418 27.8.4多邊形418 27.8.5矩形418 27.8.6圓角矩形419 27.8.7圓和橢圓419 27.8.8弧形419 27.8.9貝塞爾曲線420 27.9繪圖的性能優化420 第28章 核心動畫422 28.1動畫的產生過程422 28.2層423 28.2.1視圖和層423 28.2.2層的坐標繫統424 28.2.3層的時間繫統425 28.2.4層的對像樹425 28.2.5層級管理方法426 28.2.6層的內容426 28.2.7層的深度427 28.2.8層的透視投影427 28.3層動畫428 28.3.1隱式動畫428 28.3.2顯式動畫429 28.4核心動畫對像430 28.4.1動畫相關類431 28.4.2協議433 28.4.3輔助類435 28.4.4事務436 28.5動畫的控制437 28.5.1隱式動畫的產生過程437 28.5.2隱式動畫的動作定義438 28.5.3動畫結束通知438 28.5.4動畫的暫停和恢復439 28.6macOS中的屬性動畫439 28.6.1屬性動畫440 28.6.2動畫上下文對像440 28.6.3自動布局動畫441 28.7繫統動畫與核心動畫的對比441 28.8動畫編程示例442 28.8.1關鍵幀動畫442 28.8.2分組動畫444 28.8.3轉場動畫444 28.9動畫性能445 28.10繫統專有層446 28.10.1漸變層446 28.10.2形狀層447 28.10.3文本層448 28.10.4分片層448 28.10.5副本層449 28.10.6發射層450 28.10.7變換層452 第29章 多代理455 29.1多代理與代理和通知的比較455 29.1.1代理方式實現455 29.1.2通知456 29.1.3多代理456 29.2多代理的實現457 29.2.1Objective-C中多代理實現技術457 29.2.2使用消息轉發機制進行優化457 29.2.3XMPPFramework458 29.3聊天列表示例459 29.3.1主要的視圖控制器459 29.3.2聯繫人模型類460 29.3.3多代理管理類460 29.3.4多代理的注冊461 29.3.5多代理的通知462 第30章數據轉換464 30.1轉換器基類465 30.2繫統實現的轉換器465 30.3綁定中使用的轉換器466 30.3.1類型轉換器的實現和注冊466 30.3.2實現模型類467 30.3.3綁定Combo Box控件到模型類468 30.4實現自定義轉換器的步驟469 30.5使用轉換器分離數據轉換邏輯469 第31章框架471 31.1框架與靜態庫471 31.2創建框架工程471 31.2.1接口定義471 31.2.2頭文件引用聲明472 31.2.3使用框架473 31.2.4框架的加載路徑476 31.2.5框架的簽名問題478 第32章應用沙盒化479 32.1macOS沙盒機制479 32.2應用沙盒配置信息479 32.3文件沙盒編程481 32.3.1設計界面481 32.3.2App啟動處理481 32.3.3打開文件處理流程482 32.3.4保存文件483 32.3.5應用沙盒配置483 32.3.6作用域安全的書簽484 32.3.7保存打開的文件URL的書簽484 32.3.8應用啟動時通過URL的書簽獲取文件shou權484 第33章數據導航視圖487 33.1DataNavigationItem的設計487 33.1.1DataNavigationItem基類488 33.1.2DataNavigationButtonItem488 33.1.3DataNavigationTextItem488 33.1.4DataNavigationFlexibleItem489 33.2DataNavigationView接口和屬性489 33.2.1接口489 33.2.2內部屬性489 33.3DataNavigationView代碼實現490 33.3.1item配置490 33.3.2創建視圖491 33.3.3自動布局492 33.3.4更新文本視圖的方法494 33.4使用DataNavigationView494 第34章表格數據管理控制器497 34.1表格列的動態配置497 34.1.1表列定義的模型498 34.1.2NSTableColumn類的擴展499 34.1.3NSTableView類的擴展499 34.1.4代碼動態配置表列的表數據導航控制器500 34.2實現用代碼創建的表格和用xib創建表格的兼容504 34.3表格的數據代理505 34.3.1數據集管理操作接口505 34.3.2數據源實現507 34.3.3動態創建表格內容的數據代理方法507 34.3.4表內容的編輯處理511 34.3.5TableDataDelegate的使用512 34.4數據列排序513 34.5數據行拖放交換順序514 34.6數據分頁顯示控制515 34.6.1分頁控制器515 34.6.2分頁導航視圖517 34.6.3分頁數據獲取519 34.7表格數據的增刪編輯操作519 34.7.1增加數據519 34.7.2刪除數據520 34.7.3編輯表數據521 第35章自動化小工具522 35.1圖片資源適配自動化工具522 35.1.1實現思路522 35.1.2工程實現524 35.2國際化527 35.2.1App語言國際化的過程527 35.2.2自動化的思路530 35.2.3Xcode工程文件的編輯和修改531 第36章iPhone利用藍牙控制Mac534 36.1控制的主要流程分析534 36.2macOS服務器端535 36.2.1XXXPeripheralService服務類535 36.2.2macOS端界面開發537 36.2.3Mac鎖屏狀態通知538 36.2.4控制Mac電腦的繫統命令和腳本539 36.2.5macOS端接收iOS端的命令處理540 36.3iOS控制端541 36.3.1XXXCentralClient類541 36.3.2iOS界面開發543 第37章SQLite數據庫編程546 37.1FMDB介紹546 37.2數據庫操作接口封裝548 37.2.1數據庫管理對像548 37.2.2數據訪問對像549 37.2.3MDAO對像551 37.2.4數據模型對像552 37.2.5具體使用553 37.3數據庫加密554 37.3.1獲取支持加密的SQLite3版本554 37.3.2加密數據庫555 37.3.3操作加密數據庫556 37.4獲取SQL數據556 37.5模板引擎559 37.5.1Xcode中的模板560 37.5.2模板引擎處理流程560 37.6表模型自動化代碼生成561 37.6.1模板文件定義561 37.6.2代碼實現562 第38章開發一個完整的macOS應用564 38.1制定目標564 38.2開發自己的應用564 38.3主界面設計564 38.3.1主窗口控制器565 38.3.2分欄頁面控制器566 38.3.3左邊導航列表頁的設計與實現567 38.3.4分欄右部界面570 38.3.5詳細界面設計571 38.4工具欄設計572 38.5菜單設計574 38.5.1繫統菜單574 38.5.2上下文菜單575 38.6應用偏好設置577 38.7頁面控制器的核心流程578 38.8用戶體驗的一點改進582 38.9發布應用準備583 38.9.1發布到非應用商店渠道583 38.9.2發布到應用商店584 後記586 查看全部↓
" | | | | | |