您的位置:首页 > 移动开发 > IOS开发

iOS--合理定义对象的引用类型strong/weak/assign/copy

2015-07-18 23:22 507 查看
在ios中一定要合理使用对象的引用类型:

最佳原则:在ios中任何一个对象只有一个强引用

使用weak的情况:

1、懒加载的方式需要使用weak修饰:

如@property(nonatmic,weak) IBOutlet UILabel *lbl;

备注:所谓的懒加载就是指控件通过IB拖到根视图中,再通过连线的方式与ViewController中的属性对应起来。此种方式就相当于self.view执行了addSubview()方法,即self.view对该控件做了强引用,那么在viewController中只需要做弱引用即可。

使用strong的情况:

1、非懒加载(需要通过代码来alloc+init)

eg.未将控件拖到IB中,在h文件中声明了控件,在m文件中初始化了这个控件对象。此种情况需要在声明的时候,使用强引用。即:@property(nonatmic,strong) IBOutlet UILabel *lbl; 对应的后面应用有其初始化方法:lbl = [[UILabel alloc] init];

使用assign的情况:

1、对int、double、float、BOOL 等数值型对象的定义。

eg.@property(nonatomic,assign) BOOL tf;

使用copy的情况:

1、对于NSString类型的对象定义:

eg.@property(nonatomic,copy) NSString *strName;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: