第一节:UIPickerView、UIPickerViewDataSource、UIPickerViewDelegate

设置约束,如果要设置两个兄弟的约束,可以按住option键,用鼠标右键把a拖到b上面,表示a按照b来对齐
生成随机数
如果后面列的数据,依赖前面的数据,需要把前面选择的列的数据,保存下来,因为不保存,后面更新的时候,前面的列并没有变化,会造成索引越界

添加UIView



第二节:显示方法的注释快捷方法
光标定位到方法上,按一下esc键,会显示注释
第三节:全局断点,会在发生崩溃的地方断点

第四节:UIDatePicker
为什么用weak和 strong

设置locale 语言

第五节:NSDateFormatter
第六节:UIToolBar
系统封装的一个view,里面是UIToolbarItem

第七节:plist 属性
第八节:pch文件




第九节:UIApplicaiton
keywindow 是应用的主界面

这个key 表示状态栏的显示不交给View controller 管理了,而是交给应用程序
启动过程
如果要保存应用数据,应该在enter background的时候保存,因为如果先进入后台,过一会再kil app,获取不到teminate 事件
加载自定义controller
通过代码加载
通过storyboard 加载


通过xib创建

self.view 的懒加载

就是调用 [self loadView] 方法,可以重写该方法
第十节:UIWindow
继承自UIView

第十一节:UINavigationController

通过storyboard 设置
在storyboard中拖一个navigation controller,然后右键,设置root controller
上面有一个navigation item 控件
连线push 和 show 的区别
show 不会添加navigation item
右键连线

NavigationItem
只有样式上的区别,一个字没加粗,一个加粗了
View的生命周期


删除的时候是倒着来,比如栈的结构为 红->绿->蓝 ,如果从红->蓝,销毁的时候,先销毁绿,在销毁红,因为蓝的强指针先没了
第十二节:Segue


自动型
手动型

第十三节:数据存储
finder ->前往->前往文件夹
simpholder2.app 快捷前往沙盒工具

plist 存储
自定义对象不能存到plist 文件,因为它没有writeToFile 方法

偏好设置(NSUserDefaults)



归档解档(NSKeyedArchive、NSKeyedUnArchive)
它是二进制的文件,归档解档的对象要遵循NSCoding协议,文件路径还是在Document路径
归档的时候,要告诉归档那些属性,解档的时候也是要告诉解档哪些属性
temp目录:NSTemporaryDirectory


第十四节:UITabBarController
高度49



第十五节:图片保持图片的长宽
选中ui view,edit->size to fit (command =)
第十六节:Modal
两个界面之间有逻辑关系,用push,没关系用modal


第十七节:Quartz2d


CGContextRef



能用oc的就用oc
draw rect

画图 矩形、圆角矩形、椭圆、圆弧


样式


渲染样式
填充且描边
奇偶填充规则

非零绕数规则

画图 饼图、柱状图、进度条
第十八节:矩阵操作:旋转、缩放、平移
在把路径放到上下文之前进行操作才有效,是对上下文进行的操作

图形上下文栈
save 表示入栈,restore表示出栈

内存管理 (CGPath的释放)



绘制文字

attribute 就是 nsattributename 里面的字符串
绘制图片

模拟image View
这种方式创建的image 是图片的默认大小,模拟image view 就是上面的UIimage 的draw方法
图片裁剪
裁剪的是图片,并不是上下文
图形上下文

保存图片
裁切image

image 保存到相册 
屏幕截图
第十九节:触摸事件

可以通过这俩值,获取偏移量
NSSet

多点触摸
按住option键 拖鼠标可以模拟多点触摸,默认View 没开启多点触控,需要开启

view 的这个属性clip subview 类似于Mask
事件传递
