iOS开发

开发工具

名称 功能 备注
AFNetworking 网络库
YYKit 一系列iOS开发库,包括图片,缓存,消息队列等功能
GPUImage 图片滤镜(比如对图片进行高斯模糊)
ReactiveCocoa 响应式拓展库 类似RxJava在Android中的地位

入门文档

文档 内容 备注
OC语言入门教程 1. OC的方法调用相当于消息传递

2. 字符串使用

3. 类的定义 @interface,+表示类犯法,-表示实例方法

4. 方法定义

5. 属性声明

6. 协议定义 @protocol

7. 转发(方法调用相当于消息传递,如果一个类型不支持某些调用,可以转发给支持的类)

8. 类别 category,相当于类型拓展,一般 NSObject+String.h 这种命名的就是

9. 垃圾收集
OC基本数据类型 1. NSInteger

2. BOOL - YES/NO

3. CGFloat

4. NSString

5. NSValue(继承自NSObject)

6. NSNumber (继承自NSValue)

7. NSArray
CG开头表示 Core Graphic(核心绘图),

一般都是定义在UIKit中而不是Foundation中

NSValue,NSNumber等和NSInteger等的不同之处在于,它们是类而不是基本类型。

因为NSInteger实际上是一个宏,映射到了long,而NSNumber确是一个类
官方文档-UIView 1. 视图组件

2. 手势响应
官方文档-ViewController 1. 管理视图组件和层级
使用纯代码写UI 1. 使用ViewController和View

2. 使用代码编写UI

3. AutoLayout
iOS布局方式概述 1. StoryBoard

2. AutoLayout/SnapKit/Masonry

3. Yoga等第三方
官方文档-Info.plist使用 1. 一个k-v配置文件,可编辑
官方文档-管理App显示的内容(View Controller) 1. View Controller是管理View的,可以理解成广义上的容器

2. 导航(提供类似栈、线性、TabBar、Paged 效果的导航)

3. UIWindow下管理的是UIView的展示,并通过rootViewController关联了一个vc
1. 导航组件可以组合,嵌套使用

2. vc不属于UIView,不提供展示功能,只是作为视图的管理,这与Android中的Fragment/Activity的功能类似,特别是Window关联这部分跟Activity很像
新手教程-创建StoryBoard 1. 新手教程

2. 如何创建一个基于StoryBoard的App

3. 与StoryBoard对应的是SwiftUI
新手教程 1. 官方提供的开发入门教程,包含了两个入门级APP的完整开发

2. SwiftUI的demo 和 UIKit的demo

3. 都是使用swift语言开发的
iOS 9 Storyboard 教程(一上) 1. UI开发的入口,作为Scene的Storyboard是必须要了解的

2. 与ViewController绑定

3. TabBarController使用
iOS 9 Storyboard 教程(二上) 1. Segue - 导航 后续文档 iOS 9 Storyboard 教程(二下)