摘要: ViewController的简单生命周期:loadView:创建视图控制器(如果不是从.xib加载)viewDidLoad:视图已加载viewWillAppear:视图加载前运行viewWillDisappear:视图消失前(被关闭或覆盖)运行willRotateToInterfaceOrientation:duration:开始旋转时运行didRotateToInterfaceOrientation:旋转结束时运行 阅读全文
posted @ 2013-07-03 20:09 little_star 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 属性的特性:readwrite readonly assign retain copy nonatomicassign:默认行为,使用@property int year就使用了assign行为,就是给实例变量赋了一个值retain:实现了两个功能,一个是保留了赋值时传递的对象,其次是赋值前释放了以前值,使用retain可以实现上面讨论的内存管理的优点,使用时加上 @property (retain)int year;copy:发送一条复制的消息给被传递的对象,保留它,并释放任何以前的值;nonactomic:非原子访问器,加上后可以提升访问速度,但当两个线程同时修改同一个属性时就会出现问题, 阅读全文
posted @ 2013-07-03 19:40 little_star 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 一、线程的同步与锁要说明线程的同步与锁,最好的例子可能就是多个窗口同时售票的售票系统了。我们知道在java中,使用synchronized来同步,而iphone虽然没有提供类似java下的synchronized关键字,但提供了NSCondition对象接口。查看NSCondition的接口说明可以看出,NSCondition是iphone下的锁对象,所以我们可以使用NSCondition实现iphone中的线程安全。这是来源于网上的一个例子:SellTicketsAppDelegate.h 文件import @interface SellTicketsAppDelegate : NSObj. 阅读全文
posted @ 2013-07-03 15:25 little_star 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 简单来说,含有两个下划线和下划线+大写字母开头的标识符是给编译器和标准库用的,你不能用,否则后果自负。一个下划线开头的随便用,只要你不嫌麻烦。而我们一般在前面加“_”表示私有变量。一般来说,如果私有变量有其对应的accessor (getter/setter),则私有变量命名要加"_",否则不加。举例:#import @interface MyViewController : UIViewController { UIImage *_myImage;}@property (retain, nonatomic) UIImage *myImage;@end在具体实现中,我们一般 阅读全文
posted @ 2013-07-03 09:37 little_star 阅读(1828) 评论(0) 推荐(0) 编辑