具体描述
作者赴美参加了Apple 的WWDC 14,亲眼见证了Swift 的发布,并从这门语言正式诞生的第一分钟就开始学习和钻研。在《Swifter : 100 个 Swift 开发必备 Tip》中作者将自己的经验加以总结和整理,以一个个的小技巧和知识点的形式揭示出来。全书共有100 节,每一节都是一个相对独立的主题,涵盖了一个中高级开发人员需要知道的Swift 语言的方方面面。
《Swifter : 100 个 Swift 开发必备 Tip》非常适合用作官方文档的参考和补充,相信也会是iOS 中级开发人员很喜爱的Swift 进阶读本。
作者简介
王巍 (onevcat) 是来自中国的一线 iOS 开发者,毕业于清华大学。在校期间就开始进行 iOS 开发,拥有丰富的 Cocoa 和 Objective-C 开发经验,另外他也活跃于使用 C# 的 Unity3D 游戏开发界。曾经开发了《小熊推金币》,《Pomo Do》等一系列优秀的 iOS 游戏和应用。在业余时间,王巍会在 OneV’s Den 撰写博客,分享他在开发中的一些心得和体会。另外,王巍还是翻译项目 objc 中国的组织者和管理者,为中国的 Objective-C 社区的发展做出了贡献。同时,他也很喜欢为开源社区贡献代码,是著名的 Xcode 插件 VVDocumenter 的作者。现在王巍旅居日本,并就职于即时通讯软件公司 Line,从事 iOS 开发工作,致力于为全世界带来更好体验和功能的应用。
目录信息
序vii
I Swift 新元素1
Tip 1. 柯里化(Currying) 2
Tip 2. 将protocol 的方法声明为mutating 5
Tip 3. Sequence 6
Tip 4. 多元组(Tuple) 9
Tip 5. @autoclosure 和?? 操作符11
Tip 6. Optional Chaining 14
Tip 7. 操作符16
Tip 8. func 的参数修饰19
Tip 9. 方法参数名称省略22
Tip 10. 字面量转换25
Tip 11. 下标30
Tip 12. 方法嵌套32
Tip 13. 命名空间35
Tip 14. Any 和AnyObject 38
Tip 15. typealias 和泛型接口41
Tip 16. 可变参数函数44
Tip 17. 初始化方法顺序46
Tip 18. Designated、Convenience 和Required 48
Tip 19. 初始化返回nil 51
Tip 20. protocol 组合54
Tip 21. static 和class 58
Tip 22. 多类型和容器61
Tip 23. default 参数64
Tip 24. 正则表达式67
Tip 25. 模式匹配70
Tip 26. … 和..< 73
Tip 27. AnyClass、元类型和.self 75
Tip 28. 接口和类方法中的Self 78
Tip 29. 动态类型和多方法81
Tip 30. 属性观察83
Tip 31. final 86
Tip 32. lazy 修饰符和lazy 方法89
Tip 33. find 93
Tip 34. Reflection 和MirrorType 95
Tip 35. 隐式解包Optional 98
Tip 36. 多重Optional 100
Tip 37. Optional Map 103
II 从Objective-C/C 到Swift 105
Tip 38. Selector 106
Tip 39. 实例方法的动态调用109
Tip 40. 单例111
Tip 41. 条件编译114
Tip 42. 编译标记116
Tip 43. @UIApplicationMain 118
Tip 44. @objc 和dynamic 120
Tip 45. 可选接口123
Tip 46. 内存管理,weak 和unowned 125
Tip 47. @autoreleasepool 132
Tip 48. 值类型和引用类型135
Tip 49. Foundation 框架137
Tip 50. String 还是NSString 139
Tip 51. UnsafePointer 141
Tip 52. C 指针内存管理144
Tip 53. COpaquePointer 和CFunctionPointer 146
Tip 54. GCD 和延时调用148
Tip 55. 获取对象类型152
Tip 56. 自省154
Tip 57. 类型转换157
Tip 58. KVO 160
Tip 59. 局部scope 163
Tip 60. 判等167
Tip 61. 哈希170
Tip 62. 类簇172
Tip 63. Swizzle 175
Tip 64. 调用C 动态库178
Tip 65. 输出格式化180
Tip 66. Options 182
Tip 67. 性能考虑184
Tip 68. 数组enumerate 186
Tip 69. 类型编码@encode 188
Tip 70. C 代码调用和@asmname 190
Tip 71. sizeof 和sizeofValue 192
Tip 72. delegate 194
Tip 73. Associated Object 196
Tip 74. Lock 198
Tip 75. Toll-Free Bridging 和Unmanaged 200
III Swift 与开发环境及一些实践203
Tip 76. Swift 命令行工具204
Tip 77. 随机数生成206
Tip 78. Printable 和DebugPrintable 208
Tip 79. 错误处理210
Tip 80. 断言213
Tip 81. fatalError 215
Tip 82. 代码组织和Framework 218
Tip 83. Playground 延时运行222
Tip 84. Playground 可视化224
Tip 85. Playground 与项目协作226
Tip 86. Playground 限制228
Tip 87. 数学和数字230
Tip 88. JSON 232
Tip 89. NSNull 234
Tip 90. 文档注释236
Tip 91. Log 输出238
Tip 92. 溢出240
Tip 93. 宏定义define 242
Tip 94. 属性访问控制244
Tip 95. Swift 中的测试246
Tip 96. Core Data 248
Tip 97. 闭包歧义250
Tip 98. 泛型扩展254
Tip 99. 兼容性256
Tip 100. 列举enum 类型258
后记及致谢261
· · · · · · (收起)
读后感
用户评价
我是一个比较注重代码“工程化”的开发者,对我来说,一个框架或者语言的强大,不仅在于其表面的功能,更在于其背后的设计哲学和最佳实践。这本书在这方面做得非常出色。它不仅仅停留在教你怎么写出一行能运行的 Swift 代码,而是更深入地探讨了如何写出健壮、可维护、高性能的 Swift 代码。作者对 Swift 语言特性(比如值类型与引用类型的深入理解,以及对闭包捕获列表的精确控制)的解读非常透彻,很多我原本以为是“常识”的东西,在书里得到了更深层次的阐释,让我茅塞顿开。这本书的编排方式非常适合碎片化时间阅读,你可以随时翻开任何一页,都能立刻获得一个有价值的知识点,然后带着新的思路回到自己的项目中去实践。这是一种非常高效的学习模式,它真正做到了“授人以渔”,而不是简单的堆砌知识点。如果你想从一个“会用 Swift”的码农升级为一个“精通 Swift”的架构师,这本书是绕不开的里程碑。
我必须承认,在阅读这本书之前,我对 Swift 中的一些底层机制了解得比较模糊,很多时候是依赖于框架或者库来掩盖了我的知识盲区。这本书就像是一次彻底的“体检”,把所有隐藏的“小毛病”都揪了出来。作者对 Swift 语言的演进和 Apple 的设计意图有着深刻的洞察力,这使得书中的每一个建议都显得尤为可靠和具有前瞻性。举个例子,书中关于 Swift Package Manager 的一些高级配置技巧,是我之前完全没有接触过的,但它们对于构建复杂的企业级项目至关重要。我发现,读完这本书后,我不仅能够更好地理解现有代码库的优缺点,还能在设计新模块时,天然地倾向于采用更具“Swifty”风格的解决方案。这种由内而外的改变,才是真正有价值的学习成果。它不是一本速成指南,而是一本帮你建立正确技术认知的基石之作。
这本书的魅力在于它的“克制”与“精准”。它没有试图涵盖 Swift 的所有方面,而是聚焦于那些真正能影响日常开发效率和代码质量的“高频痛点”。我特别欣赏作者在讲解复杂概念时所采用的类比和场景化描述,这使得原本可能枯燥的内存管理、协议扩展或并发模型,变得生动易懂。对于中级开发者来说,这本书提供了一个完美的“进阶跳板”;而对于初学者来说,它则是一个绝佳的“避坑指南”,能让你从一开始就走在正确的道路上。每一次阅读,都会有新的感悟,因为它提供的不只是“怎么做”,更是“为什么这么做”的深层逻辑。我经常在遇到棘手的编译错误或性能瓶颈时,习惯性地翻阅这本书,往往能迅速定位问题的关键所在。毫无疑问,这本书已经成为了我技术书架上被翻阅频率最高的几本书之一,是近年来少有的、真正能让人感到“物超所值”的开发书籍。
这本书真是太棒了,我简直是爱不释手!我一直觉得 Swift 语言虽然强大,但有些角落总让人摸不着头脑,尤其是在处理一些复杂的异步操作或者性能优化时,总感觉自己像在黑暗中摸索。这本书的出现,就像是为我点亮了一盏明灯。它不是那种枯燥的语法书,而是充满了实战经验的智慧结晶。我特别喜欢它分享的那些“小窍门”,很多都是我在日常开发中反复踩过的坑,作者却能用极其简洁明了的方式给出解决方案。比如关于 ARC 的一些细微之处,或者在并发编程中如何优雅地使用 GCD,这些内容对我来说价值连城。读完之后,我感觉自己对 Swift 的理解提升到了一个新的层次,不再是停留在“能跑起来”的阶段,而是开始追求“写得好”和“跑得快”。对于任何想要精进 Swift 技能的开发者来说,这本书绝对是案头必备的宝典,它的价值远超书本本身的价格,是时间投资的绝佳选择。我强烈推荐给所有 Swift 工程师。
说实话,当我拿到这本书的时候,我并没有抱太大的期望,毕竟市面上关于 Swift 的书籍已经很多了,大部分都只是对官方文档的重新组织和美化。但是,这本书彻底颠覆了我的看法。它给人的感觉更像是一位经验丰富的大佬坐在你身边,手把手地教你如何避免走弯路。它的结构非常精妙,虽然是“Tips”的形式,但逻辑性很强,层层递进,让你在不知不觉中就掌握了很多高级技巧。我尤其欣赏作者在代码示例上的用心,每一个例子都力求精简,但又精准地击中要害,读起来非常流畅,不会有那种晦涩难懂的感觉。我甚至发现了一些我在 Stack Overflow 上搜索了很久都没有找到的答案,都被清晰地归纳在这里。这本书的实用性毋庸置疑,它已经成为了我日常调试和架构设计时的首选参考资料,强烈推荐给那些希望快速提升代码质量和开发效率的同行们,它绝对能帮你省下无数个调试的夜晚。
猫神的书,还是很给力的,里面介绍了不少实用的tips,对深入了解swift也很有帮助,少一颗星是因为相比于网页版的缺少了更新和勘误。
猫神的书,还是很给力的,里面介绍了不少实用的tips,对深入了解swift也很有帮助,少一颗星是因为相比于网页版的缺少了更新和勘误。
买了,暂时看不懂,也不知道等能看懂的时候会不会已经没用了。不推荐新手购买。
4.13 拿去漂流了
猫神的书,还是很给力的,里面介绍了不少实用的tips,对深入了解swift也很有帮助,少一颗星是因为相比于网页版的缺少了更新和勘误。