您的位置:首页 > 移动开发 > IOS开发

IOS学习之斯坦福大学IOS开发课程笔记(第二课)

2014-05-04 11:49 288 查看
转载请注明出处

作者:小马

这一节课有很大一部分是讲xcode基本操作, 这一部分就不记录了。





一 关于weak和strong

比如给一个label建立一个connectionto view controller,弹出框里的storage默认是选weak,因为它已经有一个strong的指针指向它了,就是它的父类视图,我们这里用weak表示只有这个label在这个视图里时,指针才存在,否则我们就不关心它的存在。





另外,中间添加了一个内部的变量,声明为strong,



因为这个是我们内部自己用的,只有我们关心它的存在,其它地方不会指向它,我们自己可以管理得很好.所以指定为strong型的。

UIViewController的view属性是strong,因为controller要直接拥有view。而添加到view上的subviews,作为IBOutlet只需要设置为weak就可以了,因为他们不是controller直接拥有的。直接拥有subviews的是controller的view,ARC会帮助管理内存。





二 复制按钮时,同样也会复制它的target action。





也就是说,按下上面任何一个按钮都会触发digitPressed。





三 关于按钮事件





这里我们想获取按键上的





可以改sender的参数类型,来缩小发送的消息的范围,更精确,如下图所示:








CalculatorBrain类中,对operandStack初始化的位置需要引起我们的注意,它在getter里做了这个事情,如下:





首先因为CalculatorBrain类并不像viewController那样有个像viewDidLoad启动只调用一次的函数,也没有所谓的”构造函数”,那初始化内部变量的最好的地方就是getter了.这里我们实现了自己的getter,synthesize就不会为我们实现这个方法了。



源码下载地址(注意不是斯坦福的源码,是我自己根据课程做的同样功能的工程源码)


http://download.csdn.net/detail/pony_maggie/7242661
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: