摘要: @开启ARC编程时要注意的 在ARC情况下,局部变量离开作用域就被销毁了,所以有些时候要注意,比如UIWebView,设成局部变量,在离开了作用域就被销毁了,但它可能还要执行delegate方法,所以程序就会崩溃。又例如,AVAudioPlayer设置成局部变量时播放不了声音,因为当离开作用域后变量就被销毁了。- (void)viewDidLoad{[super viewDidLoad];SecondViewController *svc = [[SecondViewController alloc] initWithNibName:@"SecondViewController&qu 阅读全文
posted @ 2013-11-15 11:44 天下.无贼 阅读(414) 评论(0) 推荐(0)
摘要: 比较常见的用法是在两个对象间存在包含关系时:对象1有一个strong指针指向对象2,并持有它,而对象2中只有一个weak指针指回对象1,从而避免了循环持有。一个常见的例子就是oc中常见的delegate设计模式,viewController中有一个strong指针指向它所负责管理的UITableView,而UITableView中的dataSource和delegate指针都是指向viewController的weak指针。可以说,weak指针的行为和MRC时代的assign有一些相似点,但是考虑到weak指针更聪明些(会自动指向nil),因此还是有所不同的。细节的东西我们稍后再说。总结一下新 阅读全文
posted @ 2013-11-15 10:49 天下.无贼 阅读(405) 评论(0) 推荐(0)