码迷,mamicode.com
首页 > 移动开发 > 详细

iOS修饰符

时间:2016-08-22 02:06:25      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:

一.strong与weak

为什么UI控件一般用weak就可以?

  因为我们在添加UI控件的时候一般会用addSubview操作,在addSubview的时候,就给该控件添加了一个强引用,所以在该对象被手动置为nil之前,或removeFromSuperView之前,或该控制器销毁之前,该控件不会被释放.addSubview不能等到该对象被释放后再使用.

  如果控制器定义了一个控件用strong修饰,那么该控件被该控制器强引用,如果再用addSubview,那么该控件就有两个强引用,如果该控制器被销毁,该控件也仍然会被销毁.

  如果该属性是一个控制器,如果用addChildViewController:的话,原理与一般UI控件一样,如果只用[self.view addSubview:vc2.view],那么该控制器对vc2没有强引用,vc2很容易被释放调.

  给一个对象置为nil,该对象不一定会被释放,如果该对象有两个强引用,置为nil就不能被释放,但是向该对象发送任何消息都不会有反应.

 

二.copy和strong

为什么NSString和NSArray一般用copy?

三. 

 

iOS修饰符

标签:

原文地址:http://www.cnblogs.com/i-o-s-/p/5794079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!