繁体   English   中英

委托属性声明中'weak'和'assign'之间的区别是什么

[英]What's the difference between 'weak' and 'assign' in delegate property declaration

这有什么区别:

@property (nonatomic, weak) id  <SubClassDelegate> delegate; 

还有这个:

@property (nonatomic, assign) id  <SubClassDelegate> delegate; 

我想为代表使用属性。

weakassign之间的唯一区别是,如果weak属性指向的对象被释放,那么weak指针的值将被设置为nil ,这样你就不会冒着访问垃圾的风险。 如果你使用assign ,那就不会发生,所以如果对象从你下面取消分配并且你试图访问它,你将访问垃圾。

对于Objective-C对象,如果您处于可以使用weak的环境中,那么您应该使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM