Objective-C学习手册iOS学习笔记iOS学习开发

代理模式中delegate属性为assign的原因

2016-08-08  本文已影响238人  Bestmer

前言

在代理模式中,属性通常写成如下形式

@property (nonatomic, assign) id<实现的某个协议名称>delegate;

究其背后的原因为什么不使用retain来修饰,其实这里涉及到了内存管理中的循环引用问题。

举个例子


此时b的引用计数为2,a和c的引用计数为1


在举个例子




分析


总结

希望通过这个例子,能让大家对于内存管理有更深刻的理解。

上一篇 下一篇

猜你喜欢

热点阅读