在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 等数值型对象的定义。
[email protected](nonatomic,assign) BOOL tf;
使用copy的情况:
1、对于NSString类型的对象定义:
[email protected](nonatomic,copy) NSString *strName;
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-17 16:37:52