我对Objective-C ARC下的内存管理有什么责任?

据我在ARC中了解,您不需要手动释放对象,它会自动为您完成。但是,我还有多少责任呢?我知道nil在方法的末尾将局部变量设置为自动。但是强属性呢?我是否必须将它们设置为nil诸如dealloc或的方法viewDidUnload强属性会自动释放吗?实例变量又和属性一样吗?我知道并不是所有的内存管理责任都由我承担。

扎夫

基本上,编译器会为您添加保留和发布。当类取消分配时,它也会释放强引用。仅当当时需要运行一些代码并且实际上不需要调用时[super dealloc]才需要编写一个dealloc方法

但:

我知道方法结束时局部变量会自动设置为nil。

是不正确的。我认为您可能会将其与弱引用混淆,这些弱引用在它们所指向的实例被取消分配时设置为nil。

请注意,方法开始时将objet指针的局部变量设置为nil。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Objective C 内存管理

来自分类Dev

Objective-C-为什么我可以给指针赋值?

来自分类Dev

为什么我不能使用从Objective-C对象到Swift属性的KVC?

来自分类Dev

Objective-C初始化方法返回的是什么“自我”?

来自分类Dev

为什么我不能在子类中使用超类的属性(Objective-C)

来自分类Dev

为什么我在Objective C中获得NSString的值(如0xb000000000000033)

来自分类Dev

即使文件在桥中,为什么我也无法访问objective-c 方法?

来自分类Dev

如何在Objective-c中在没有ThirdParty库的情况下向我的NSString显示粗体和斜体

来自分类Dev

遵守C \ C ++标准有什么责任?

来自分类Dev

无法构建 Objective-C 模块“Firebase”:我有 Xcode 版本 9.4.1 和 Cocoapods 1.1.1

来自分类Dev

Objective-C通过引用传递与通过指针传递。有什么不同?为什么我们根本需要它?

来自分类Dev

Mac OSX Objective-c NSString内存与ARC泄漏

来自分类Dev

为什么我的Objective C模块在Xcode 8中看不到我的Swift 3类?

来自分类Dev

可以向我解释有关iOS内存管理(ARC-NON-ARC)的总体思路

来自分类Dev

Objective-C弱自我声明

来自分类Dev

自我弱的Objective-C宏

来自分类Dev

Objective-C自我和记忆

来自分类Dev

为什么我在C / MEX中有内存泄漏?

来自分类Dev

C和C ++中的内存管理有什么区别

来自分类Dev

当我调用发布/订阅方法时,为什么我的 NearbyMessages Objective-C 到 C# 绑定会抛出 NSInvalidArgumentException?

来自分类Dev

为什么在我的Objective-C块关闭大括号之前Uncrustify会强迫一个空格?

来自分类Dev

为什么在我的Objective-C块关闭括号之前Uncrustify会强迫一个空格?

来自分类Dev

Objective-C,为什么我需要在这里而不是在这里放星号

来自分类Dev

执行我的Objective-C程序时,为什么会出现错误“无法初始化类对象”?

来自分类Dev

有人可以解释为什么将我的C文件和Objective-C ++文件混合会导致此链接器错误吗?

来自分类Dev

当我桥接铸造一个Objective C对象时,我必须做一些特殊的事情来防止内存泄漏吗?

来自分类Dev

我有一种方法可以快速查看公开的Objective-C标头

来自分类Dev

我有一种方法可以快速查看公开的Objective-C标头

来自分类Dev

Objective-C中的异步编程:我觉得这里有重复的代码,我不知道该怎么办

Related 相关文章

  1. 1

    Objective C 内存管理

  2. 2

    Objective-C-为什么我可以给指针赋值?

  3. 3

    为什么我不能使用从Objective-C对象到Swift属性的KVC?

  4. 4

    Objective-C初始化方法返回的是什么“自我”?

  5. 5

    为什么我不能在子类中使用超类的属性(Objective-C)

  6. 6

    为什么我在Objective C中获得NSString的值(如0xb000000000000033)

  7. 7

    即使文件在桥中,为什么我也无法访问objective-c 方法?

  8. 8

    如何在Objective-c中在没有ThirdParty库的情况下向我的NSString显示粗体和斜体

  9. 9

    遵守C \ C ++标准有什么责任?

  10. 10

    无法构建 Objective-C 模块“Firebase”:我有 Xcode 版本 9.4.1 和 Cocoapods 1.1.1

  11. 11

    Objective-C通过引用传递与通过指针传递。有什么不同?为什么我们根本需要它?

  12. 12

    Mac OSX Objective-c NSString内存与ARC泄漏

  13. 13

    为什么我的Objective C模块在Xcode 8中看不到我的Swift 3类?

  14. 14

    可以向我解释有关iOS内存管理(ARC-NON-ARC)的总体思路

  15. 15

    Objective-C弱自我声明

  16. 16

    自我弱的Objective-C宏

  17. 17

    Objective-C自我和记忆

  18. 18

    为什么我在C / MEX中有内存泄漏?

  19. 19

    C和C ++中的内存管理有什么区别

  20. 20

    当我调用发布/订阅方法时,为什么我的 NearbyMessages Objective-C 到 C# 绑定会抛出 NSInvalidArgumentException?

  21. 21

    为什么在我的Objective-C块关闭大括号之前Uncrustify会强迫一个空格?

  22. 22

    为什么在我的Objective-C块关闭括号之前Uncrustify会强迫一个空格?

  23. 23

    Objective-C,为什么我需要在这里而不是在这里放星号

  24. 24

    执行我的Objective-C程序时,为什么会出现错误“无法初始化类对象”?

  25. 25

    有人可以解释为什么将我的C文件和Objective-C ++文件混合会导致此链接器错误吗?

  26. 26

    当我桥接铸造一个Objective C对象时,我必须做一些特殊的事情来防止内存泄漏吗?

  27. 27

    我有一种方法可以快速查看公开的Objective-C标头

  28. 28

    我有一种方法可以快速查看公开的Objective-C标头

  29. 29

    Objective-C中的异步编程:我觉得这里有重复的代码,我不知道该怎么办

热门标签

归档