發表於2024-12-13
Swift進階 pdf epub mobi txt 電子書 下載
√Swift非常適於係統編程,同時它也能被用於書寫高層級的代碼。
√如果你已想深入探索這門語言的奧秘,這是*一能找到的一本書。
√全球知名iOS教學網站objc,其精品圖書更是惠及無數開發者。
√高層級抽象如泛型|協議,低層級如封裝C代碼、字符串內部實現。
在本書中,我們涵蓋瞭Swift程序設計的一些進階話題。如果你已經通讀Apple的Swift編程指南,並且想要深入探索關於這門語言的更多內容,那麼這本書正適閤你!Swift非常適閤用來進行係統編程,而同時它也能被用於書寫高層級的代碼。我們在書中既會研究像是泛型、協議這樣的高層級抽象的內容,也會涉足像是封裝C代碼以及字符串內部實現這樣的低層級話題。
王巍(onevcat),《Swifter(第2版):100個Swift2開發必備Tip》作者,來自中國的一綫iOS開發者,畢業於清華大學。在校期間就開始進行iOS開發,擁有豐富的Cocoa和Objective-C開發經驗,另外他也活躍於使用C#的Unity3D遊戲開發界。曾經開發瞭《小熊推金幣》,《PomoDo》等一係列優秀的iOS遊戲和應用。在業餘時間,王巍會在OneV'sDen撰寫博客,分享他在開發中的一些心得和體會。另外,王巍還是翻譯項目objc中國的組織者和管理者,為中國的Objective-C社區的發展做齣瞭貢獻。同時,他也很喜歡為開源社區貢獻代碼,是著名的Xcode插件VVDocumenter的作者。現在王巍旅居日本,並就職於即時通訊軟件公司Line,從事iOS開發工作,緻力於為全世界帶來更好體驗和功能的應用。
第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
8.1Result類型213
8.2拋齣和捕獲214
8.3帶有類型的錯誤216
8.4將錯誤橋接到Objective-C217
8.5錯誤和函數參數218
Rethrows220
8.6使用defer進行清理221
8.7錯誤和可選值222
8.8錯誤鏈223
鏈結果223
8.9高階函數和錯誤224
8.10總結226
第9章泛型228
9.1重載228
自由函數的重載229
運算符的重載230
使用泛型約束進行重載231
使用閉包對行為進行參數化235
9.2對集閤采用泛型操作236
二分查找236
泛型二分查找238
集閤隨機排列241
SubSequence和泛型算法244
重寫與優化246
9.3使用泛型進行代碼設計247
提取共通功能249
創建泛型數據類型250
9.4泛型的工作方式251
泛型特化253
全模塊優化254
9.5總結255
第10章協議256
10.1麵嚮協議編程258
協議擴展260
在協議擴展中重寫方法260
10.2協議的兩種類型262
類型抹消264
10.3帶有Self的協議267
10.4協議內幕269
性能影響270
10.5總結271
第11章互用性272
11.1實踐:封裝CommonMark272
封裝C代碼庫272
封裝cmark_node類型273
更安全的接口278
11.2低層級類型概覽284
11.3函數指針286
我經常會收到Swift學習者和使用者發來的電子郵件,問我應該怎麼進一步提高自己的Swift水平,而在這種時候,我都會嚮他們推薦您手中的這本書——《Swift進階》。
在2017年3月的Tiobe最受歡迎編程語言排行榜中,Swift首次進入前十名,已經將它的“前輩”Objective-C遠遠拋在腦後;而Swift3.0的開源及跨平颱,也為這門語言的使用範圍
和持續發展帶來瞭前所未有的機遇和希望。
在Swift高速發展的今天,越來越多的Swift開發者不僅僅滿足於完成開發任務,他們更希望能知道如何寫齣優秀的代碼,如何優雅高效地實現功能,以及如何更靈活地使用這門語言來應對改變。想要做到這些,我們就需要做到知其然,並知其所以然。《Swift進階》正是
一本嚮您介紹Swift的種種語言特性“所以然”的書籍。
本書的英文版由objc.io的創始人ChrisEidhof1,著名科技編輯和博主OleBegemann2以及一
直關注Swift的博客AirspeedVelocity3的幕後人員一同聯閤編寫。原版書籍一經公布,就引
起瞭國外Swift社區的極大關注,可以說本書是國外高級Swift開發者幾乎人手一本的必讀物。書中深入淺齣地剖析瞭Swift裏深層次的實現細節以及設計思路。對於包括諸如內建集閤類型的底層實現、泛型和協議的設計、Swift字符串的原理和使用邏輯、值類型和引用類型的適用場景和特點等話題,書中都進行瞭詳細的分析。
本書通過這些細緻和係統的解釋,為我們揭示瞭Swift的設計哲學,讓我們在學習Swift的過程中,從“身在此山”變為“高屋建瓴”。雖然在技術精進的道路上沒有捷徑,但若將前人的經驗和總結的精華作為基礎,確實能讓我們事半功倍。
技術書籍總會麵臨版本變動和更新的問題。本書的英文原版是在2015年Swift2時發布的,其實該書的翻譯工作也早在2015年年中就完成瞭。但是在Swift3中,Apple對這門語言進行瞭大幅的重塑和調正,本著對讀者負責的態度,我們並沒有急於推齣本書的過時版本,而是在等待Swift趨於穩定後,直接以對應最新版本的形式進行發布。在能預見的未來中,Swift4及後續版本並不會發生像前序版本那樣的大規模改動,因此我們認為學習和進階Swift的時機已經成熟。《Swift進階》一書在探討問題時也對版本之間的差異進行瞭說明,讓讀者可以瞭解到技術變革的來龍去脈,並為未來的知識更新提前做好準備。
我們必須承認,在國內當前Swift的接受度和使用範圍,已經與國外産生瞭一些差距。由此導緻瞭Swift程序開發的平均水平也稍有落後。但我們相信這隻是暫時的,隨著Swift社區的日益強大,國內使用Swift的機會和應用場閤,都會發生爆發式的增長。讓更多的中國開發者有機會接觸和瞭解Swift開發更深層次的內容,正是本書目的所在。
王巍
還好
評分整書通讀完一遍,挺基礎的一本書,書中源碼無法下載,書中最後講的內容有些籠統,內容於標題略微不服。
評分東西不錯。 物流給力。 快遞小哥態度好。暫時沒有發現什麼問題
評分書還行吧 質量不錯啊……
評分還是需要用swift這一段時間代碼再看比較閤適
評分不錯,是正版,有空看一下書,打發時間
評分送貨速度神速,晚上下班,第二天中午就到瞭
評分不錯,剛剛開始學習中~~
評分很好的書,寫的很不錯,值得購買,很有用!
Swift進階 pdf epub mobi txt 電子書 下載