zoukankan      html  css  js  c++  java
  • ARC

    ARC 自动引用计数

    •ARC自动引用计数(automatic reference counting),提供自动管理内存的功能
    •不需要手动管理引用计数,不需要也不允许retain、release、autorelease。
    •注意版本是支持iOS4(不支持弱引用)、iOS5以上
    •ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切
     
    基本原理
    •1  规则
    •ARC 的规则非常简单:只要还有一个强指针变量指向对象,对象就会保持在内存中

     2  强指针和弱指针

    默认所有实例变量和局部变量都是Strong指针

    •弱指针指向的对象被回收后,弱指针会自动变为nil指针,不会引发野指针错误
      

    使用注意

    •不能调用release、retain、autorelease、retainCount
    •可以重写dealloc,但是不能调用[super dealloc]
    •@property : 想长期拥有某个对象,应该用strong,其他对象用weak
    •其他基本数据类型依然用assign
    •两端互相引用时,一端用strong、一端用weak

    ARC和非ARC的混合编译

    •不同于XCode4可以在创建工程时选择关闭ARC,XCode5以后在创建的工程是默认开启ARC,没有可以关闭ARC的选项。
    •如果需要对特定文件开启或关闭ARC,可以在工程选项中选择Targets -> Compile Phases -> Compile Sources,在里面找到对应文件,添加flag:
    •打开ARC:-fobjc-arc
    •关闭ARC:-fno-objc-arc

     

     ARC下的属性关键字

     
  • 相关阅读:
    冲刺第十三天
    冲刺第十二天
    冲刺第十一天
    Android Studio三种运行方法
    第十三周学习进度
    冲刺第一阶段意见评论
    第十二周学习进度
    冲刺第十天
    大二暑假周总结(五)
    大二暑假周总结(四)
  • 原文地址:https://www.cnblogs.com/chenzq12/p/6214646.html
Copyright © 2011-2022 走看看