zoukankan      html  css  js  c++  java
  • ARC 与非ARC 之间的转换,以及如何使一个项目中,ARC与非ARC共存 撩课

      1,非ARC 转 ARC的操作

      XCode 的 Edit -- Refactor -- Convert to Object-C ARC (注意,一般在一个大项目中,很少直接使用此方法,其正确率有待考虑,毕竟手动内存管理较为复杂,如果出现错误,很难排查)

      2,ARC 与 非ARC共存

      需求来源:当我们在项目中使用一些古老的框架时,该框架就可能使用手动内存管理.而公司开发的项目可能采取ARC.此时如何将两者整合到一起?

      解决方法:选中改项目---Build Phase -- 双击非ARC 文件,输入 -fno-obj-arc即可保证不会因为当前使用了ARC,对非ARC文件报错.

      提起ARC,下面简单谈下个人对ARC的理解.

      可以简单的理解为,有強指针指向的对象不会被系统回收,而没有強指针指向(弱指针或者没有)都会被系统回收

      一般默认的指针就是强指针(strong),而使用weak修饰的指针为弱指针.

      然而,并不是你使用了ARC就不会出现内存泄漏的情况.什么是内存泄漏?就是该对象已经不再使用了,而还存在内存中,占用内存资源.这叫内存泄漏.那么,如果你已经不使用该对象了,还一直使用強指针指向它,又会怎样?如果出现循环引用(互相強指针指向对方)呢?又会怎样?

      所以,在使用过程中,依然要分析什么时候使用strong,什么时候使用weak.

      上文提到的循环引用的解决方案:一方设置为weak,一方设置为strong即可.

      

  • 相关阅读:
    Android EditText内容监听
    Android模仿QQ空间图片上传——原理
    PHP新手入门1——表单
    linux下ftp常用命令
    TextView所有属性
    iOS开发-删除字典中的null
    去除导航栏下方的横线
    应用的启动视图 LauchView
    App所需申请资料
    应用本地化
  • 原文地址:https://www.cnblogs.com/dashunzi/p/3732935.html
Copyright © 2011-2022 走看看