zoukankan      html  css  js  c++  java
  • OC的ARC机制


    1. ARC是编译器特性,而不是 iOS 运行时特性,它也不是类似于其它语言中的垃圾收集器。

       因此 ARC 和手动内存管理性能是一样的,有时还能更加快速,因为编译器还可以执行某些优化。

    2. 指针分2种:

       强指针:默认情况下,所有的指针都是强指针 __strong

       弱指针:__weak

    3. ARC的判断准则:只要没有强指针指向对象,就会释放对象。

    4. ARC特点

       1) 不允许调用release、retain、retainCount

       2) 允许重写dealloc,但是不允许调用[super dealloc]

       3) @property的参数

          * strong :成员变量是强指针(适用于OC对象类型)

          * weak :成员变量是弱指针(适用于OC对象类型)

          * assign : 适用于非OC对象类型

       4) 以前的retain改为用strong

    5. ARC与非ARC代码混用方法

       项目—Build Phases—Compile Sources—Compiler Flags

       -fno-objc-arc  //不支持ARC

       -f-objc-arc    //支持ARC

    6. ARC循环引用

       两端互相引用时,一端用strong、一端用weak。


  • 相关阅读:
    c++ 异常处理 assert | try
    c++ 容器类
    protobuf 向前兼容向后兼容
    命名空间和模块化编程,头文件
    对象3:继承
    动态内存 this指针
    对象2 构造,析构
    对象 1 作用域解析符 ::
    hibernate-criteria查询
    oracle报错:ORA-28000: the account is locked
  • 原文地址:https://www.cnblogs.com/coderkl/p/4320320.html
Copyright © 2011-2022 走看看