_strong Person *p强指针

_weak Person *p弱指针

Person *p强指针 ,默认是强指针

单对象

ARC中只要没有被强指针指向的对象,内存就会被释放

_weak Person *p=[[Person alloc]init];

在创建完就会被释放

多对象

人拥有狗

@property (nonaatomic,strong)Dog *dog;

当狗被单独释放时,Dog并不一定会被释放,因为有可能人的属性中有指针指向Dog

当互相指向时

人拥有狗

@property (nonaatomic,strong)Dog *dog;

狗有主人

@property (nonaatomic,weak)Person *person;

要有一方使用弱指针,否则永远不会释放

转载于:https://www.cnblogs.com/JavaTWW/p/5146574.html

ARC对象内存管理以及强弱指针相关推荐

  1. iOS 下ARC的内存管理机制

    本文来源于我个人的ARC学习笔记,旨在通过简明扼要的方式总结出iOS开发中ARC(Automatic Reference Counting,自动引用计数)内存管理技术的要点,所以不会涉及全部细节.这篇 ...

  2. ios 内存管理的理解(三)ARC下 对象内存管理

    1 ARC工作原理详述 ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做的只不过是在代码编译时为你自动在合适的位置插入release或autorelease 2 ...

  3. OC-引用计数器,内存管理,野指针

    总结 全局断点 →-->+-->Add Exception Breakpoint 开启僵尸监听 打开Edit scheme -->Diagnostics-->Enable Zo ...

  4. 【C++学习】类和对象 | 友元 | 内部类 | 匿名对象 | 内存管理 | new

    目录 1. 友元 1.1 友元函数 1.2 友元类 2. 内部类 3. 匿名对象 4. 内存管理 5. C++的动态内存 写在最后: 1. 友元 1.1 友元函数 来看这段代码: #include & ...

  5. oc45--多对象内存管理 优化

    // // main.m // Set方法的内存管理#import <Foundation/Foundation.h> #import "Person.h" #impo ...

  6. linux c 指针和内存分配内存,linux-C基础系列-内存管理(野指针).md

    野指针概述 野指针通常指的是指针变量中保存的值不会死一个合法的内存地址,但又对其访问.需要注意的是野指针不是空指针,而是指向内存不可用的指针. C语言中对于空指针(NULL)是可以判断出来的,但是野指 ...

  7. 动态内存管理和智能指针 2.0 -- shared_ptr

    shared_ptr出现原因 通过第一章的学习,我们知道不管是auto_ptr合适scoped_ptr都是存在缺陷的,于是我们必须想出一个方法既能很好的管理我们的内存,而且在使用的时候,可以多个指针指 ...

  8. OC 知识:彻底理解 iOS 内存管理(MRC、ARC)

    1. 什么是内存管理 程序在运行的过程中通常通过以下行为,来增加程序的的内存占用 创建一个OC对象 定义一个变量 调用一个函数或者方法 而一个移动设备的内存是有限的,每个软件所能占用的内存也是有限的 ...

  9. iOS开发ARC内存管理技术要点

    本文来源于我个人的ARC学习笔记,旨在通过简明扼要的方式总结出iOS开发中ARC(Automatic Reference Counting,自动引用计数)内存管理技术的要点,所以不会涉及全部细节.这篇 ...

  10. iOS开发ARC内存管理

    本文的主要内容: ARC的本质 ARC的开启与关闭 ARC的修饰符 ARC与Block ARC与Toll-Free Bridging ARC的本质 ARC是编译器(时)特性,而不是运行时特性,更不是垃 ...

最新文章

  1. mysql 中 replace into 与 insert into on duplicate key update 的使用和不同点
  2. android广播接收器
  3. QWidget中加载QML页面并设置透明背景
  4. 代理服务器ip地址如何获得_详细教程:如何使用代理服务器进行网页抓取?
  5. 子类覆盖父类(Java)
  6. opencv 物体形状匹配
  7. GBK内码字符串转Unicode字符串
  8. 如何下载城通网盘的东西?
  9. pdfFactory Pro 不能被安装(AddPrinterDriver 失败)...找不到指定的模块
  10. 2003 r2 远程管理html,掌握Win Server 2008的WinRM远程管理
  11. 以太网交换机的作用你真的了解吗?
  12. jquery实现菜单点击左右滑动效果
  13. 爬虫第3课 -豆瓣TOP250电影爬取
  14. 人工智能正在学习如何创造自己
  15. HTML5标签-按功能分类整理
  16. 淘宝商品详情API接口(网页版,APP端二合一接口)
  17. 怎么更改wifi频段_win10将wifi改成5hz首选频带方法_win10怎样将wifi变为支持5ghz频段-win7之家...
  18. HTML页面为什么设置了UTF-8仍然中文乱码
  19. 8天3城50店,带你去广东吃遍虾饺、烧腊、猪脚饭、潮汕牛肉火锅……
  20. 使用CRM客户关系管理软件有哪些优势?

热门文章

  1. C++ std::set operator <= find失效 erase失效 解决方案
  2. DevOps使用教程 华为云(17)git 比较2个分支版本的差异 某个具体文件的差异
  3. 微信也QQ服务器,妄想山海QQ区还是微信区好 平民服务器选择推荐
  4. java保存文件filedialog保存路径 文件名_FileDialog文件名过滤问题
  5. WINDOWS 服务端 SVN自动部署/一键批处理 SVN 更新项目
  6. 阶段3 2.Spring_04.Spring的常用注解_3 用于创建的Component注解
  7. Python爬虫面试题170道:2019版【1】
  8. beego框架开发投票网站(1) beego基础之运行逻辑
  9. 数据库TCPIP协议开了,但还是远程连不上
  10. 关于assert和de-assert的解释