首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

2011年冬斯坦福大学公开课 iOS应用开发课程学习笔记(第四课)

2012-11-26 
2011年冬斯坦福大学公开课 iOS应用开发教程学习笔记(第四课)第四课名称: Views 视图课程开始老师怀念了一

2011年冬斯坦福大学公开课 iOS应用开发教程学习笔记(第四课)

第四课名称: Views 视图

课程开始老师怀念了一会老乔。接着介绍这次的课程分为两部分,一部分是Calculator的Demo,一部分是Views.

课程开始到第四课,其实斯坦福的课程里是有作业的,人家已经做完了第一个作业了,就是完善计算器这个程序,完成一个比较复杂的计算器:

2011年冬斯坦福大学公开课 iOS应用开发课程学习笔记(第四课)

计算器大概要完整这么多的功能,有兴趣的同学可以把这个作业的pdf下载下来自己完成。下载地址:作业1

个人感觉这个计算器比较奇葩的地方是设计了一个Enter键。可能是为了减小程序的难度吧。

Demo的演示包括下面内容:

1、可编程性,添加一些API,作用是返回计算程序!Api要保证程序向上兼容。Brain是操作数和操作符的组合。通过类方法执行这个程序,也就是计算运算结果。

他说的计算程序,就是操作数和操作符的组合,把这个组合里的操作数和操作符弹栈并做相应的计算。

Api向上兼容就是说他没有改变Controller,程序一样能正常运行。

2、演示使用到了id类型、property 、数组的可变和不可变复制、内省、还有递归,一下子关联了这么多知识。

这位老师还强调,希望大家通过课程和作业,熟悉各个集合类的使用,熟悉Founation框架的使用,甚至熟悉和适应Obj-c。

用到id是,要用内省判断来包含id使用时不至于崩溃。

3、里面的描述的api留到作业了,应该就是把计算时的操作数和操作符 组合成字符串,这样Controller就可以把这些操作显示到view上。

4、课程提问讨论下nil判断包含的问题,老师说这是编码艺术的范畴,他喜好更少的代码,在确定不需nil判断时,尽量不要添加。我个人认为还是添加比较好,这样可以增加代码的可读性。这可能和人家大师的区别吧。

演示代码如下:

brain头文件:


创建views

继承UIView。

通过alloc  init 创建view .例子:

[image drawAtPoint:(CGPoint)p];[image drawInRect:(CGRect)r];[image drawAsPatternInRect:(CGRect)patRect;
drawAtPoint 会按原大小画出来drawInRect会缩放。drawAsPatternInRect会重复绘制来甜蜜指定的区域。
下节课预告。会讲到源码控制,协议,自定义的UIView ViewController的生命周期。还有storyboard的讲解。对应两个平台的storyboard的使用。

容芳志 (http://blog.csdn.net/totogo2010)

本文遵循“署名-非商业用途-保持一致”创作公用协议


热点排行