这有什么区别:
@property (nonatomic, weak) id <SubClassDelegate> delegate;
还有这个:
@property (nonatomic, assign) id <SubClassDelegate> delegate;
我想将属性用于代表。
Answers:
weak和之间的唯一区别assign是,如果weak释放了属性所指向的对象,则weak指针的值将设置为nil,这样您就永远不会冒访问垃圾的风险。如果使用assign,则不会发生,因此,如果从您下面释放该对象并尝试访问它,则将访问垃圾。
对于Objective-C对象,如果您在可以使用的环境中weak,则应该使用它。
UITableView有assign其代表:@property (nonatomic, assign) id <UITableViewDelegate> delegate;