KKBOX iOS/Mac OS X 基础开发教材 - 简体中文版
译者前言
前言
1. Selector
1.1 Objective-C Class/Object 到底是什么?
1.2 Selector 有什么用途?
1.3 调用performSelector: 需要注意的地方
1.4 Selector 是Objective-C 中所有魔法的开始
1.5 扩展阅读
1.6 练习:计算器小程序
2. Category
2.1 什么时候应该要使用Category
2.2 实现Category
2.3 Category还可以有什么用途
2.4 Extensions
2.5 Category 是否可以增加新的成员变数或属性?
2.6 对NSURLSessionTask 撰写Category
2.7 相关阅读
2.8 练习:字符串反转
3. 内存管理Part 1
3.1Reference Count/Retain/Release
3.2 Auto-Release
3.3 基本原则
3.4 Getter/Setter 与Property 语法
3.5 相关阅读
4. 内存管理Part 2
5. 内存管理 Part 3
6. Delegate 与Protocol
6.1 从其他平台来看Objective-C 的Delegate
6.2 设计Protocol 与实现Delegate 的方式
6.3 注意事项
6.4 Data Source 与Delegate 的差别?
6.5 Formal Protocol 与Informal Protocol
6.6 无所不在的Delegate
6.7 其他平台上所谓的Delegate
6.8 我们曾经犯过的低级错误
6.9 练习:贪食蛇
7. 单元测试
7.1 AAA原则
7.2 执行测试
7.3 测试驱动开发
7.4 覆盖率(Coverage)
7.5 相关阅读
8. Blocks
8.1 Block 语法
8.2 Block 如何代替了Delegate
8.3 Block 与Delegate 都可以想成是Event Handler
8.4 什么时候该用Blocks?什么时候该用Delegate?
8.5 __block 与 __weak
8.6 Block 作为Objective-C 实例
8.7 哪些事情不要拿Block 来做
8.8 Callback Hell
8.9 相关阅读
9 Notification Center
9.1 接收与发送Notification
9.2 Notification Queue
9.3 Mac 上的其他Notification Center
9.4 CFNotificationCenter
9.5 相关阅读
10 设计模式
10.1 图解设计模式
10.2 为什么要谈设计模式
10.3 再谈Singleton
10.4 练习:探索Cocoa/Cocoa Touch Framework
10.5 练习:阅读程式码
11 一些新手常常搞混的东西
11.1 bool 与BOOL
11.2 NSInteger 与NSUInteger
11.3 NULL、nil、Nil…
12 Responder
12.1 Run loop
12.2 Application
12.3 Window
12.4 View
12.5 View Controller
12.6 UITouch
12.7 相关阅读
13 Threading
13.1 Perform Selector
13.2 GCD
13.3 NSOpertation 与NSOperationQueue
13.4 相关阅读
13.5 练习:一个发送多个连线的Operation
14 NSCoding
14.1 NSCoding 实现
14.2 NSCoding 的常见用途
14.3 相关阅读
15 Crash Reports
15.1 如何搜集Crash Reports
15.2 内存不足时产生的Crash Report
15.3 Crash Report 的三部分
15.4 解开内存位置
15.5 常见Crash 的类型
15.6 禅与APP维护
15.7 实战:Bad Access
15.8 实战 Category引起的Crash
Powered by
GitBook
10.5 练习:阅读程式码
练习:阅读程式码
请做一份大约15 到30 分钟左右的简报:
在GitHub 找一个open source 的iOS 专案,可以是App 或Library
简介这个专案的用途
说明在这个专案中,用了哪些设计模式、用在哪边?
如果这是一个Library,就你自己评价,这个Library 好不好用? 为什么?
如果是你的话,你会怎样设计这个App 或Library?
如果这是一个开发一段时间的专案,你觉得从哪些地方可以看出岁月的痕迹? 如果由你接手,你会打算在哪些地方、用新的技术改写?
results matching "
"
No results matching "
"