请告诉我这之间的区别:
@property (nonatomic, weak) id <SubClassDelegate> delegate;
还有这个:
@property (nonatomic, assign) id <SubClassDelegate> delegate;
我想用财产为代表。
请告诉我这之间的区别:
@property (nonatomic, weak) id <SubClassDelegate> delegate;
还有这个:
@property (nonatomic, assign) id <SubClassDelegate> delegate;
我想用财产为代表。
之间的唯一区别weak
和assign
是,如果该对象的weak
属性指向被释放,那么,价值weak
指针将被设为nil
,让你永远不会运行访问垃圾的危险。 如果您使用assign
,这不会发生,因此,如果对象被从下你释放你尝试访问它,您会进入垃圾。
对于Objective-C的对象,如果你在一个环境中,你可以用很weak
,那么你应该使用它。