Swift 進階 (Advanced Swift)
Chris Eidhof(克裡斯·安道夫) 王巍
- 出版商: 電子工業
- 出版日期: 2017-04-01
- 定價: $450
- 售價: 8.5 折 $383
- 語言: 簡體中文
- 頁數: 290
- ISBN: 712131200X
- ISBN-13: 9787121312007
-
相關分類:
Apple Developer
- 此書翻譯自: Advanced Swift(Paperback)
無法訂購
買這商品的人也買了...
-
$653代碼大全, 2/e (Code Complete: A Practical Handbook of Software Construction, 2/e)
-
$620$490 -
$250Objective-C 高級編程-iOS 與 OS X 多線程和內存管理
-
$360$281 -
$480$408 -
$281iOS測試指南
-
$352Swifter (100個Swift 2開發必備Tip)(第2版)
-
$354$336 -
$301騰訊 iOS 測試實踐
-
$650$507 -
$480$379 -
$580$458 -
$500$390 -
$450$383 -
$332函數式 Swift
-
$653Angular 5 高級編程, 2/e
-
$580$452 -
$433iOS 應用逆向與安全
-
$505iOS 和 macOS 性能優化:Cocoa、Cocoa Touch、Objective-C 和 Swift (iOS and macOS Performance Tuning: Cocoa, Cocoa Touch, Objective-C, and Swift)
-
$580$458 -
$505iOS 性能優化實戰
-
$454TypeScript 實戰指南
-
$680$537 -
$780$663 -
$880$695
相關主題
商品描述
在本書中,我們涵蓋了Swift程序設計的一些進階話題。如果你已經通讀Apple的Swift編程指南,並且想要深入探索關於這門語言的更多內容,那麽這本書正適合你!Swift非常適合用來進行系統編程,而同時它也能被用於書寫高層級的代碼。我們在書中既會研究像是泛型、協議這樣的高層級抽象的內容,也會涉足像是封裝C代碼以及字符串內部實現這樣的低層級話題。
目錄大綱
第1章介紹1
1.1本書所面向的讀者2
1.2主題3
1.3術語6
1.4Swift風格指南9
第2章內建集合類型11
2.1數組11
數組和可變性11
數組和可選值13
數組變形14
數組類型25
2.2字典27
可變性28
有用的字典擴展28
Hashable要求30
2.3Set31
集合代數32
索引集合和字符集合33
在閉包中使用集合34
2.4Range34
第3章集合類型協議37
3.1序列37
迭代器38
無限序列44
不穩定序列44
序列和迭代器之間的關係45
子序列46
3.2集合類型47
為隊列設計協議48
隊列的實現50
遵守Collection協議51
遵守ExpressibleByArrayLiteral協議54
關聯類型55
3.3索引57
索引失效58
索引步進59
鍊錶60
3.4切片70
實現自定義切片71
切片與原集合共享索引74
通用的PrefixIterator74
3.5專門的集合類型75
前向索引76
雙向索引77
隨機存取索引78
MutableCollection79
RangeReplaceableCollection80
3.6總結82
第4章可選值84
4.1哨崗值84
4.2通過枚舉解決魔法數的問題86
4.3可選值概覽88
iflet88
whilelet89
雙重可選值92
ifvarandwhilevar94
解包後可選值的作用域95
可選鏈97
nil合併運算符99
可選值map101
可選值flatMap103
使用flatMap過濾nil104
可選值判等105
switch—case匹配可選值108
可選值比較109
4.4強制解包的時機109
改進強制解包的錯誤信息111
在調試版本中進行斷言111
4.5多災多難的隱式可選值113
隱式可選值行為113
4.6總結114
第5章結構體和類115
5.1值類型116
5.2可變性117
5.3結構體120
5.4寫時復制127
寫時復制(昂貴方式)129
寫時復制(高效方式)130
寫時復制的陷阱132
5.5閉包和可變性134
5.6內存135
weak引用137
unowned引用138
5.7閉包和內存139
結構體和類使用實踐139
5.8閉包和內存142
引用循環143
捕獲列表144
5.9總結145
第6章函數146
6.1函數的靈活性152
函數作為數據155
6.2局部函數和變量捕獲161
6.3函數作為代理163
Foundation框架的代理163
結構體代理164
使用函數,而非代理165
6.4inout參數和可變方法167
嵌套函數和inout169
&不意味inout的情況170
6.5計算屬性和下標171
延遲存儲屬性172
使用不同參數重載下標173
下標進階175
6.6自動閉包175
@escaping標註177
6.7總結179
第7章字符串180
7.1不再固定寬度180
字位簇和標準等價181
7.2字符串和集合184
字符串與切片187
7.3簡單的正則表達式匹配器189
7.4ExpressibleByStringLiteral192
7.5String的內部結構193
Character的內部組織結構199
7.6編碼單元表示方式199
7.7CustomStringConvertible和
CustomDebugStringConvertible201
7.8文本輸出流203
7.9字符串性能207
7.10展望211
……
第8章錯誤處理212
第9章泛型228
第10章協議256
第11章互用性272