IOS什么情况下使用assign,copy,retain,strong,weak

1、assign:

基础类型(简单类型,原子类型):NSInteger,CGPoint,CGFloat,C数据类型(int,float,double,char等等)

2、copy:

含有可深度拷贝的mutable子类的类,如NSArray,NSSet,NSDictionary,NSData,NSCharacterSet,NSIndexSet,NSString

但NSMutableArray这样的不可以

3、retain:

其他NSObject和其子类对象

4、strong:

自定义对象,一般用strong

_btn = [[UIButtonalloc] init];

[self.viewaddSubview:_btn];

5、weak:

(1)用storyboard拖线的使用weak

(2)手动创建控件

UIButton *btn =[[UIButton alloc] init];

_btn = btn;

[selfaddSubview:_btn];

你可能感兴趣的:(IOS什么情况下使用assign,copy,retain,strong,weak)