[英]What's the difference between 'weak' and 'assign' in delegate property declaration
这有什么区别:
@property (nonatomic, weak) id <SubClassDelegate> delegate;
还有这个:
@property (nonatomic, assign) id <SubClassDelegate> delegate;
我想为代表使用属性。
weak
和assign
之间的唯一区别是,如果weak
属性指向的对象被释放,那么weak
指针的值将被设置为nil
,这样你就不会冒着访问垃圾的风险。 如果你使用assign
,那就不会发生,所以如果对象从你下面取消分配并且你试图访问它,你将访问垃圾。
对于Objective-C对象,如果您处于可以使用weak
的环境中,那么您应该使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.