iOS开发
开发工具
Xcode https://developer.apple.com/xcode/
官方IDECocoaPods https://cocoapods.org/
包管理RVM https://rvm.io/
Ruby版本管理RubyGems https://rubygems.org/
Gem托管服务Bundler https://bundler.io/
管理Gem版本(CocoaPods也是一个Gem)
库
名称 | 功能 | 备注 |
---|---|---|
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 教程(二下) |