IOS strong和weak的区别

简介: strong和weak的区别 strong表示保留它指向的堆上的内存区域不再指向这块区域了。 也就是说我强力指向了一个区域,我们不再指向它的条件只有我们指向nil或者我自己也不在内存上,没有人strong指向我了,weak表示如果还没有人指向它了,它就会被清除内存,同时被指向nil,因为我不能读取不存在的东西。

 

strong和weak的区别
strong表示保留它指向的堆上的内存区域不再指向这块区域了。
也就是说我强力指向了一个区域,我们不再指向它的条件只有我们指向nil或者我自己也不在内存上,没有人strong指向我了,weak表示如果还没有人指向它了,它就会被清除内存,同时被指向nil,因为我不能读取不存在的东西。
weak只在IOS5.0使用
这并不是垃圾回收,我们用reference count表示堆上还有多少strong指针,当它变为0就马上释放。
 
本地变量都是strong,编辑器帮你计算
相关文章
|
7月前
|
安全 Android开发 数据安全/隐私保护
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
387 1
|
7月前
|
API 开发工具 Android开发
iOS 和 Android 平台的开发有哪些主要区别?
iOS与Android开发区别:iOS用Objective-C/Swift,App Store唯一下载渠道;Android用Java/Kotlin,多商店发布(如Google Play、华为市场)。设计上,iOS简洁一致,Android灵活可定制。开发工具,iOS用Xcode,Android用Android Studio。硬件和系统多样性,iOS统一,Android复杂。权限管理、审核流程及API各有特点,开发者需依据目标平台特性进行选择。
282 3
|
7月前
|
Java 测试技术 API
安卓APP和iOS APP在测试上的区别是什么?
安卓APP和iOS APP在测试上的区别是什么?
206 0
|
7月前
|
安全 JavaScript 前端开发
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
311 0
|
Shell iOS开发
iOS 逆向编程(十)sh脚本(shell)编写与执行指令区别
iOS 逆向编程(十)sh脚本(shell)编写与执行指令区别
247 0
|
安全 小程序 iOS开发
iOS Odyssey 和 unc0ver 的区别
iOS Odyssey 和 unc0ver 的区别
571 0
|
iOS开发
iOS block修饰符用copy还是strong
iOS block修饰符用copy还是strong
169 0
|
存储 安全 IDE
android studio 输出apk过程,apk中的文件格式(bsh文件,dex文件),JVM、DVM、ART的区别,IOS与安卓的区别,ART和Dalvi
android studio 输出apk过程,apk中的文件格式(bsh文件,dex文件),JVM、DVM、ART的区别,IOS与安卓的区别,ART和Dalvi
273 0
android studio 输出apk过程,apk中的文件格式(bsh文件,dex文件),JVM、DVM、ART的区别,IOS与安卓的区别,ART和Dalvi
|
存储 缓存 iOS开发
iOS Principle:weak
iOS Principle:weak
192 0
iOS Principle:weak
iOS-底层原理 10:strong&copy&weak底层分析 以及 方法签名和attribute简写含义
iOS-底层原理 10:strong&copy&weak底层分析 以及 方法签名和attribute简写含义
169 0
iOS-底层原理 10:strong&copy&weak底层分析 以及 方法签名和attribute简写含义