ARC(自动引用计数)

Automatic Reference counting(简写ARC)

ARC 中不可以retainrelease 但可以重写dealloc 方法  但不能调用[super dealloc]

只要还有一个强指针变量指向对象,对象就会保持在内存中

强指针(默认所有指针变量都是强指针)被__strong修饰的指针

弱指针 被__weak修饰的指针(双下划线)

@property内存管理策略的选择

1.非ARC

1> copy :只用于NSString\block

2> retain :除NSString\block以外的OC对象

3> assign :基本数据类型、枚举、结构体(非OC对象),当2个对象相互引用,一端用retain,一端用assign

2.ARC

1> copy :只用于NSString\block

2> strong :除NSString\block以外的OC对象

3> weak :代理\UI控件当2个对象相互引用,一端用strong,一端用weak

4> assgin :基本数据类型、枚举、结构体(非OC对象)

MRC的代码转换成ARC

打开Edit -》Refactor-> convert to Objective -C ARC

2.@property属性的用法

* weak(assign) :代理\UI控件

* strong(retain) :其他对象(除代理\UI控件\字符串以外的对象)

* copy :字符串

* assign :非对象类型(基本数据类型int\float\BOOL\枚举\结构体)

控件需不需生成set方法

readwrite :同时生成set方法和get方法(默认)

readonly : 只会生成get方法

例:_timeF=CGRectMake(timeX, timeY, timeW, timeH);这是给成员属性赋值,不是set ,get方法

self.timeF =CGRectMake(timeX, timeY, timeW, timeH);这个是访问他的set方法

CGRect rect = self.timeF; 这个是访问它的get方法方法;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对象自动释放池的使用释放池的作用autorelease对象方法@autoreleasepool关键字的使用Pers...
    金歌漫舞阅读 241评论 0 0
  • // ARC//这一章我写的不好,需要就去看原书 //“Swift 使用自动引用计数(ARC)机制来跟踪和管理你的...
    你weixiao的时候很美阅读 275评论 0 0
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,219评论 30 472
  • 从昨天晚上十一点到现在,群里退了款,呀比给每个要求退款的人以最快的速度退了,昨天眠一的解释里依然没有单号,不...
    橦讷讷阅读 241评论 0 0
  • 我们的大脑无时无刻地活在评判里。 这种评判不论是对自己,还是对他人,抑或是对环境。很多时候因独到见解而产生的评判会...
    静沐如心阅读 736评论 2 4