这是为了避免保留周期。Apple提供了有关高级内存管理的信息性指南,说明了这种情况以及如何最好地对其进行处理。在ARC中,它们现在称为强参考周期,在《过渡到ARC发行说明》中对此进行了说明。以前,您需要像这样为委托定义属性,@property (nonatomic, assign) id delegate;但是在ARC中,您可以这样定义它,@property (nonatomic, unsafe_unretained) id delegate;或者,例如,如果您有一个名为的协议<MyObjectDelegate>,则还可以通过这种方式定义委托,@property (nonatomic, weak) id <MyObjectDelegate> delegate;换句话说,在ARC中,如果您有协议,则可以声明一个委托weak。否则,unsafe_unretained。