本书是 Swift 语言的知识点的集合,本书的写作目的是为广大已经入门了 Swift 的开发者提供一些参考,以期能迅速提升他们在实践中的能力。本书非常适合用作官方文档的参考和补充,也是中级开发人员适用的 Swift 进阶读本。本书非常适合用作官方文档的参考和补充,也是中级开发人员适用的 Swift 进阶读本。
推荐序iii
序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-CC 到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
內容試閱:
推荐序iii
序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-CC 到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