本書有DRM加密保護,需使用HyRead閱讀軟體開啟
  • Swift程式設計範例經典:讓您設計出專業級的iOS & OS X應用程式
  • 點閱:335
  • 譯自:Swift for programmers
  • 作者: Paul J. Deitel, Harvey Deitel作 , 林耕溥譯
  • 出版社:碁峰資訊
  • 出版年:2016[民105]
  • 集叢名:Deitel developer series
  • ISBN:978-986-347-956-7 ; 986-347-956-X
  • 格式:PDF
  • 版次:初版
  • 附註:原紙本書ISBN: 978-986-347-860-7 含索引

內容簡介

專業程式設計師適用的app開發指南,
使用Apple在iOS®與OS X®平台上的新程式語言Swift
實用且豐富的範例,內容涵蓋:

。類別、物件、方法、property
。初始化程序、解構程序、銜接
。值組、陣列以及Dictionary Collection

。結構、列舉、closure、ARC
。繼承、多型、protocol
。型別方法、型別property
。泛型;字串與字元
。運算子多載、運算子函式、自訂運算子、下標
。存取控制;型別轉換與檢查
。巢狀型別、巢狀方法
。optional、optional chaining、extension
。Xcode、Playground、介紹Cocoa Touch®搭配程式編寫完整的iOS® 8 Tip Calculator App
。溢位運算子、屬性、樣式
。更多線上主題

本書是為具備物件導向程式設計、C-based語言(如Objective-C、Java、C#,或C++)背景的程式設計師所撰寫,沿襲Deitel書籍特有的「以應用程式為導向」教學法,以豐富完整並可實際運作的程式範例引領您深入探索新的Swift語言。搭配著語法標示,將重要的程式碼標出,以漸進的方式帶您寫出程式並觀察範例的輸出。書中提供數千行經過實測的程式碼,以及許多有助於幫助建立堅實應用程式的技巧。

以類別與物件起始介紹Swift,之後會很快地開始討論進階主題。精通這些工具後,便可著手建構出有著業界水準的物件導向Swift程式。

名人讚譽

「Apple針對Mac與iOS應用程式的開發,發佈新的程式語言時,大家都很驚訝。Apple循Objective-C與許多其他的語言的經驗,從無到有建構出一個新語言。其中有許多東西需要學習—新語法、新的慣用語..等,看起來這是很令人怯步的。而Deitels寫了這本書,徹底探索Swift與Xcode 6,引導讀者學習需要知道的東西,而讀者之前學過什麼語言都無妨。」——Robert McGovern,獨立開發者

「對Apple發佈的新程式語言來說,本書介紹的很好,逐行程式碼解釋。程式碼整體是實際工作的抽象化,完整連結到強大的資源。在比較多個已建立的程式設計概念後加入的特色,對Apple平台非常陌生的開發人員來說,會使得Swift很容易學習。必讀!」——René Cacheaux,Mutual Mobile的iOS架構師

「有著這樣品質、深度及廣度的書籍,在Swift發佈後很快的出現,實在令人驚訝。對Apple的參考文件來說是很理想的搭配讀物。這本開發人員使用的書籍,會以深入眼光來看Swift。不管你是C++、C#,或是Java背景,想進入Apple大環境,又或是意圖更新技術、學習最新且令人興奮的Apple語言的Objective-C程式設計師,全都適合閱讀本書。補充Deitels的傑出書籍《iOS 8 for Programmers: An App-Driven Approach with Swift》,且維持了商標高品質的作法,其中有許多互動的、重要的範例程式碼,且其中有著深入的程式詳細檢視,還有最佳的實務作法。使用Swift功能搭配Cocoa的Foundation類別。對每一個認真的Apple開發人員來說都是必備的。」——Rik Watson,HP Enterprise Services的技術團隊領導(應用程式服務)

「對於想要快速學習Apple最新語言的Objective-C開發人員來說,本書是完美之作。你會學習該如何在現有的Objective-C專案中納入新的Swift功能(如值組、closure,以及泛型)。在Xcode playground中操作真實範例時,你會感謝Swift內建的錯誤處理機制。」——Scott Bossack,Thrillist Media Group的iOS開發人員領導


作者簡介

Paul Deitel與Harvey Deitel

Paul Deitel與Harvey Deitel是Deitel & Associates, Inc.的創辦人,這家公司是國際知名的程式語言編寫與企業訓練機構。全球已有數百萬人透過閱讀Deitel所出版的書籍、收看即時視訊訓練課程或查閱線上資源的方式來學習駕馭Swift與Objective-C的iOS® App開發,以及JavaTM、C++、AndroidTM、C#、.NET、Visual Basic®、Visual C++®、C、網際網路程式設計、JavaScript®、HTML、CSS、XML、Python®、PHP..等。

  • 前言(第iv頁)
  • 準備工作(第xiv頁)
  • 1 Swift 與 Xcode 6 簡介(第1頁)
    • 1.1 簡介(第2頁)
    • 1.2 Apple 的 OS X® 與 iOS® 作業系統:簡史(第3頁)
    • 1.3 Objective - C(第4頁)
    • 1.4 Swift:Apple 未來會使用的程式語言(第4頁)
    • 1.5 能否純粹使用 Swift?(第10頁)
    • 1.6 Xcode 6 整合開發環境(第11頁)
    • 1.7 用 Xcode 6 建立 Swift App(第13頁)
    • 1.8 網路資源(第18頁)
  • 2 Swift 程式設計簡介(第21頁)
    • 2.1 簡介(第22頁)
    • 2.2 第一個程式:列印一行文字(第22頁)
    • 2.3 修改第一個程式(第24頁)
    • 2.4 用 String 代換去構成較大的 String(第26頁)
    • 2.5 另一個應用程式:整數相加(第28頁)
    • 2.6 算數(第30頁)
    • 2.7 判定:if 指令敘述與比較運算子(第31頁)
    • 2.8 綜合整理(第34頁)
  • 3 介紹類別、物件、方法及函式(第35頁)
    • 3.1 簡介(第36頁)
    • 3.2 Account 類別(第37頁)
    • 3.3 建立並使用 Account 物件(第43頁)
    • 3.4 值型別 vs. 參考型別(第48頁)
    • 3.5 搭配存取修飾字的軟體工程(第49頁)
    • 3.6 綜合整理(第51頁)
  • 4 控制指令、指定運算子、遞增運算子及 邏輯運算子(第53頁)
    • 4.1 簡介(第54頁)
    • 4.2 控制用指令敘述(第54頁)
    • 4.3 if 指令(第55頁)
    • 4.4 if ... else 指令(第56頁)
    • 4.5 複合式指定運算子(第58頁)
    • 4.6 遞增與遞減運算子(第59頁)
    • 4.7 switch 指令(第60頁)
    • 4.8 while 迴圈(第63頁)
    • 4.9 do ... while 迴圈(第64頁)
    • 4.10 for ... in 迴圈和範圍運算子(第64頁)
    • 4.11 for 迴圈(第69頁)
    • 4.12 break 與 continue 指令(第71頁)
    • 4.13 邏輯運算子(第73頁)
    • 4.14 綜合整理(第76頁)
  • 5 深入檢視函式與方法,並介紹 enum 與值組(第77頁)
    • 5.1 簡介(第78頁)
    • 5.2 Swift 的模組(第79頁)
    • 5.3 Darwin 模組-使用預先定義的 C 語言函式(第80頁)
    • 5.4 多參數函式的定義(第81頁)
    • 5.5 亂數產生(第83頁)
    • 5.6 介紹列舉與值組(第85頁)
    • 5.7 宣告的可見範圍(第92頁)
    • 5.8 函式與方法之多載(第95頁)
    • 5.9 外部的參數名稱(第97頁)
    • 5.10 預設的參數值(第98頁)
    • 5.11 以傳值或傳參考方式傳遞引數(第100頁)
    • 5.12 遞迴(第101頁)
    • 5.13 巢狀函式(第103頁)
    • 5.14 綜合整理(第105頁)
  • 6 陣列與 closure 介紹(第107頁)
    • 6.1 簡介(第108頁)
    • 6.2 陣列(第109頁)
    • 6.3 建立 Array 並設定其初始值(第110頁)
    • 6.4 反覆地走訪整個 Array(第113頁)
    • 6.5 添加與移除 Array 的元素(第116頁)
    • 6.6 搭配範圍標示運算式下標(第119頁)
    • 6.7 排序 Array;Closure 簡介(第121頁)
    • 6.8 Array 的 filter、map 及 reduce 等方法(第125頁)
    • 6.9 模擬洗牌與發牌;計算用的 property;Optional(第129頁)
    • 6.10 把 Array 傳遞給函式(第135頁)
    • 6.11 傳值與傳參考的註記(第138頁)
    • 6.12 多維的 Array(第138頁)
    • 6.13 variadic 參數(第143頁)
    • 6.14 綜合整理(第144頁)
  • 7 Dictionary(第145頁)
    • 7.1 簡介(第146頁)
    • 7.2 宣告 Dictionary:key-value 與 Dictionary 常量(第149頁)
    • 7.3 宣告與輸出空的 Dictionary 物件(第151頁)
    • 7.4 使用 for...in 來走訪整個 Dictionary(第152頁)
    • 7.5 通用的泛型 Dictionary printing 函式(第154頁)
    • 7.6 Dictionary 的相等運算子 == 與 !=(第155頁)
    • 7.7 Dictionary 的 count 與 isEmpty property(第156頁)
    • 7.8 Dictionary,其中的值屬於 Array(第157頁)
    • 7.9 Dictionary 的 keys 與 values property(第158頁)
    • 7.10 用下標把 key-value 插入、修改及移除(第161頁)
    • 7.11 插入、移除及修改 key-value(第164頁)
    • 7.12 動態地建構一個 Dictionary:在一個 String 中的字數計數(第167頁)
    • 7.13 Dictionary 與 Foundation 類別之間的銜接(第169頁)
    • 7.14 雜湊表與 hashing(第169頁)
    • 7.15 綜合整理(第171頁)
  • 8 類別:深度討論與延伸(第173頁)
    • 8.1 簡介(第174頁)
    • 8.2 Time 類別:預設的初始化程序與 property 觀察員(第176頁)
    • 8.3 Time 類別中的 designated 與 convenience 初始化程序(第182頁)
    • 8.4 Time 類別中的 failable 初始化程序(第188頁)
    • 8.5 Time 類別的延伸(第192頁)
    • 8.6 可讀寫的計算用 property(第197頁)
    • 8.7 合成(第200頁)
    • 8.8 自動的參考計數、強參考及弱參考(第204頁)
    • 8.9 解構程序(第205頁)
    • 8.10 把 NSDecimalNumber 用在精確的貨幣計算(第205頁)
    • 8.11 型別 property 與型別方法(第207頁)
    • 8.12 lazy 存放用 property 與延遲的初始化程序(第212頁)
    • 8.13 綜合整理(第213頁)
  • 9 結構、列舉及巢狀型別(第215頁)
    • 9.1 簡介(第216頁)
    • 9.2 結構的定義(第217頁)
    • 9.3 列舉與巢狀型別(第224頁)
    • 9.4 在結構、列舉及類別間挑選,在 App 中使用(第232頁)
    • 9.5 enum 的 associated 值(第233頁)
    • 9.6 綜合整理(第236頁)
  • 10 繼承、多型及 protocol(第237頁)
    • 10.1 簡介(第238頁)
    • 10.2 超類別與子類別(第240頁)
    • 10.3 繼承體系:CommunityMember(第241頁)
    • 10.4 案例研究:用繼承來建立相關的 Employee 型別(第242頁)
    • 10.5 在繼承體系中的存取修飾字(第250頁)
    • 10.6 介紹多型:多型的電玩遊戲討論(第251頁)
    • 10.7 案例研究:使用多型的薪資系統的類別階層(第252頁)
    • 10.8 案例研究:建立並使用自訂的 protocol(第263頁)
    • 10.9 額外的 protocol 功能(第271頁)
    • 10.10 使用 final 來防止方法覆蓋與繼承(第274頁)
    • 10.11 在類別階層中的初始化程序與解構程序(第274頁)
    • 10.12 綜合整理(第277頁)
  • 11 泛型(第279頁)
    • 11.1 簡介(第280頁)
    • 11.2 泛型函式的動機(第280頁)
    • 11.3 泛型函式:實作與特殊化(第282頁)
    • 11.4 有著型別限制的型別參數(第284頁)
    • 11.5 多載的泛型函式(第286頁)
    • 11.6 泛型(第286頁)
    • 11.7 注意 protocol 的 associated 型別(第290頁)
    • 11.8 綜合整理(第290頁)
  • 12 運算子多載與下標(第291頁)
    • 12.1 簡介(第292頁)
    • 12.2 Sting 運算子與方法(第293頁)
    • 12.3 自訂的 Complex 數值型別,搭配多載的算數運算子(第298頁)
    • 12.4 針對 NSDecimalNumber 類別來多載算數運算子(第302頁)
    • 12.5 多載一元運算子:++ 與 --(第304頁)
    • 12.6 多載下標(第308頁)
    • 12.7 自訂的運算子(第312頁)
    • 12.8 自訂的泛型運算子(第315頁)
    • 12.9 綜合整理(第316頁)
  • 13 iOS 8 App 開發:Welcome App(第319頁)
    • 13.1 簡介(第320頁)
    • 13.2 技術概覽(第321頁)
    • 13.3 建立 Universal App 專案搭配 Xcode(第322頁)
    • 13.4 Xcode Workspace 視窗(第325頁)
    • 13.5 Storyboarding Welcome App 的 UI(第328頁)
    • 13.6 執行 Welcome App(第341頁)
    • 13.7 無障礙的 App(第344頁)
    • 13.8 使 App 國際化(第346頁)
    • 13.9 綜合整理(第351頁)
  • 14 iOS 8 App 開發:Tip Calculator App(第353頁)
    • 14.1 簡介(第354頁)
    • 14.2 在 iPhone 與 iPad 的模擬器中試著讓 Tip Calculator App 運作(第355頁)
    • 14.3 技術概要(第356頁)
    • 14.4 建構 App 的 UI(第360頁)
    • 14.5 用 Interface Builder 來建立 Outlet(第373頁)
    • 14.6 用 Interface Builder 來建立 Action(第376頁)
    • 14.7 ViewController 類別(第378頁)
    • 14.8 綜合整理(第386頁)
  • A 關鍵字(第389頁)
  • B 運算子優先序圖表(第390頁)
  • C 標記的 continue 敘述(第392頁)
    • C.1 簡介(第392頁)
    • C.2 標記的 break(第392頁)
    • C.3 標記的 continue 敘述(第393頁)
紙本書 NT$ 480
單本電子書
NT$ 336

還沒安裝 HyRead 3 嗎?馬上免費安裝~
QR Code