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

在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;

在乎的是沿途的风景以及看风景的心情,让心灵去旅行!

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

相关文章:

你感兴趣的文章:

标签云: