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

第三章

第三章还是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就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值