• ARC


    ARC简介

    • ARC是自iOS 5之后增加的新特性,是iOS程序猿的福音
    • ARC的全称是Automatic Reference Counting(自动引用计数)
    • ARC的实现细节 

       编译器会自动在适当的地方插入适当的retain、release、autorelease语句 

       也就是说,编译器会自动生成内存管理的代码,不用程序猿手动编写

    • 如果是手动管理内存,可以简称MRC(Manual Reference Counting)

    ARC的注意点和优点

    • ARC的注意点
      • ARC是编译器特性,而不是运行时特性
      • ARC不是其他语言中的垃圾回收,有着本质区别
    • ARC的优点
      • 完全消除了手动管理内存的繁琐,让程序猿更加专注于app的业务
      • 基本上能够避免内存泄露
      • 有时还能更加快速,因为编译器还可以执行某些优化

    ARC的判断原则

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

    强指针

    • 默认所有指针变量都是指针
    • 被_strong修饰的指针

    弱指针

    • 被_weak修饰的指针

    ARC的使用细节

    • 不能调用release、retain、autorelease、retainCount
    • 可以重写dealloc,但是不能调用[super dealloc]
    • ARC中的@property
      • strong:用于OC对象,相当于MRC中的retain
      • weak:用于OC对象,相当于MRC中的assign
      • assign:用于基本数据类型,跟MRC中的assign一样
      • copy:一般用于NSString,跟MRC中的copy一样

    MRC转为ARC

  • 相关阅读:
    安装vmware tools 使用hgfs共享文件一波三折
    RedHat停止sendmail加快启动
    [宏]_IO, _IOR, _IOW, _IOWR 宏的用法与解析
    __VA_ARGS__
    超级终端串口发送命令,uboot接收不到
    statfs函数获取大容量磁盘信息速度慢的解决过程
    ctags使用简介
    做技术多久才能入门
    linux目录和文件介绍
    OpenScalesLayer
  • 原文地址:https://www.cnblogs.com/saurik/p/4831651.html
Copyright © 2020-2023  润新知