美文网首页
iOS 结构体中引用OC对象

iOS 结构体中引用OC对象

作者: changsanjiang | 来源:发表于2019-02-21 22:14 被阅读15次

ARC模式下, 在结构体中直接引用OC对象, 程序会报野指针的错误. 很明显, 引用的对象已经被释放了, 所以此时为了防止不被释放, 就需要对内存进行手动管理.

而手动管理内存, 自然就会想到MRC, 不过ARC时代, 再配置MRC就有点蛋疼了. 那还有什么方法呢? 😌, CF对象派上用场了.

以下为代码示例:

image.png

如上图, 将 testTask 转为了 CF对象, 对其 retain.
在需要使用时, 可以转换为相应的类型, 也可以直接使用CF对象操作.
最后不需要使用后, 将其释放.

相关文章

  • iOS 结构体中引用OC对象

    ARC模式下, 在结构体中直接引用OC对象, 程序会报野指针的错误. 很明显, 引用的对象已经被释放了, 所以此时...

  • iOS的内存管理

    iOS OC对象的内存管理 在iOS中,使用引用计数来管理OC对象内存 一个新创建的OC对象引用计数默认是1,当引...

  • 内存管理

    OC对象的内存管理 1、在iOS中,使用引用计数来管理OC对象的内存,一个新创建的OC对象引用计数默认是1,当引用...

  • 内存管理

    OC对象的内存管理 在iOS中,使用引用计数来管理OC对象的内存 一个新创建的OC对象引用计数默认是1,当引用计数...

  • 内存管理:OC对象的内存管理MRC

    在iOS中,使用引用计数来管理OC对象的内存 一个新创建的OC对象引用计数默认是1,当引用计数减为0,OC对象就会...

  • 底层26:内存管理

    在iOS中,使用引用技术来管理OC对象的内存一个新创建的OC对象引用计数默认为是1,当引用计数减为0,OC对象就会...

  • 内存管理MRC

    在iOS中,使用引用计数来管理OC对象的内存一个新创建的OC对象引用计数默认是1,当引用计数减为0,OC对象就会销...

  • ios内存管理

    ios采用引用计数管理对象的生命周期,开启指针优化后对象的引用计数器可能存在于isa结构体中, CADisplay...

  • OC总结篇 - OC对象及方法

    1.OC对象 = 结构体id对象 = objc_object结构体继承类对象 = objc_class结构体 ob...

  • 01-OC对象的本质

    OC是通过C/C++的什么数据结构实现我们的OC对象呢 结构体--OC对象的本质就是C/C++的结构体 Class...

网友评论

      本文标题:iOS 结构体中引用OC对象

      本文链接:https://www.haomeiwen.com/subject/bswdyqtx.html