这两者有什么不同:
@property (nonatomic, weak) id <SubClassDelegate> delegate;
还有这个:
@property (nonatomic, assign) id <SubClassDelegate> delegate;
我想对委托使用属性。
发布于 2012-02-24 17:49:08
weak
和assign
之间的唯一区别是,如果weak
属性指向的对象被释放,那么weak
指针的值将被设置为nil
,这样您就永远不会有访问垃圾的风险。如果你使用assign
,这种情况就不会发生,所以如果对象在你的控制下被释放,而你试图访问它,你就会访问垃圾。
对于Objective-C对象,如果您在一个可以使用weak
的环境中,那么您应该使用它。
https://stackoverflow.com/questions/9428500
复制相似问题