iOS 结构体中引用OC对象
2019-02-21 本文已影响15人
changsanjiang
ARC模式下, 在结构体中直接引用OC对象, 程序会报野指针的错误. 很明显, 引用的对象已经被释放了, 所以此时为了防止不被释放, 就需要对内存进行手动管理.
而手动管理内存, 自然就会想到MRC, 不过ARC时代, 再配置MRC就有点蛋疼了. 那还有什么方法呢? 😌, CF对象派上用场了.
以下为代码示例:
image.png如上图, 将 testTask 转为了 CF对象, 对其 retain.
在需要使用时, 可以转换为相应的类型, 也可以直接使用CF对象操作.
最后不需要使用后, 将其释放.