关闭

《iOS 编程 第四版》——第三、四、五章学习笔记

标签: objective-cios开发ios内存管理
502人阅读 评论(0) 收藏 举报
分类:

第三章

第三章还是Objective-C理论的学习,主要讲了内存管理方面的问题和ARC

一、堆和栈的概念

1.在执行方法(或函数)时,会在内存中名为“栈”的区域分配一块内存空间,称为“帧”,帧内的变量称为局部变量(local variable)。帧是后进先出的(有没有很像人有钱之后买古董,一般是车、房都买了之后,买点古董之类的,所以古董是最后进来的;但是一旦家境败落,最先“出去”的也是古董:) )。

2.堆则是内存中的另外一块区域,包含了大量无序的对象,需要通过指针来保存这些对象在堆中的地址(没有指针你就找不着这个对象了)。

二、ARC

有了ARC,Objective-C程序员就不用那么操心内存管理方面的问题了(突然感觉好幸福有没有,之前的iOS程序员竟然需要手动管理内存)

三、属性

1.使用了属性,我们就不用再写代码很长的实例变量存取方法了,属性统统帮你搞定;

2.nonatomic、strong、weak、copy关键字的使用。

第四章

终于来到可以直观地看到、触摸到的视图学习了。

一、视图的概念

1.视图是UIView对象或者它的子类;

2.视图知道如何绘制自己且能处理事件,比如触摸;

3.视图是按层次结构排列的,层次结构的中的每一个UIView对象都有一个layer属性,所有视图的图层组合成一幅图像,绘制到屏幕上;

4.iOS系统通过以下两点优化视图的显示、使得画面更流畅:(1)不重绘显示内容没有改变的视图;(2)一次事件处理完成后,再统一重绘一次视图,而不是每一步操作都重绘;

二、bounds和frame的区别

1.bounds属性用于确定绘制区域,避免将自己绘制到图层外面;

2.frame属性用于确定视图相对于其他视图的相对位置;

三、绘制同心圆

相对于UILable和UIButton等视图,Apple已经提供了相应的绘制方法,而这一节需要学习的绘制同心圆视图的方法,Apple没有提供,所以我们手写代码来完成。

第五章

一、类扩展的好处

1.可以减少头文件的臃肿,因为头文件经常需要被别的文件所导入,提高编译器效率;

2.有些内容是相对私有的,不需要公开出来,所以放在.m这个实现文件的类扩展中会更合适。

二、iOS应用的运行循环

每个iOS应用启动后,就会开始一个run loop(运行循环),监听发生的事件。事件发生时run loop会为之寻找相应的处理方法,然后它就坐着开始喝茶休息了,直到事件处理完毕后,控制权再次回到run loop手中,它又开始重新监听,等待事件的发生(一直等待,直到世界的尽头... ... 其实,是等到你的手机没电为止:) )。

三、UIScrollView

1.一个UIScrollView视图就像是一个摄像机镜头,手指拖动时就像镜头的移动,可以看到不同的景色;

2.介绍了如何分页,书中的例子是分2页,在一个UIView视图旁边再新建一个视图,然后设置UIScrollView 的pagingEnabled(分页属性)为YES就可以了。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6614次
    • 积分:187
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条