IOS:个人笔记|UI__懒加载及其要注意的地方
懒加载,在需要对象的时候才去加载,全局只会被加载一次,全局可以使用。一般使用懒加载的对象都是全局变量,例如某个UI对象。
通常是重写该成员变量的get方法,先判断对象是否为空,如果为空,则创建,设置属性等等。如果不为空,则直接返回该对象。
使用懒加载的好处是每个对象的get方法负责其实例化,该用到的时候再加载。代码整体可读性好。彼此间独立性强。
注意在对象的getter方法里,切勿使用self.XX,假如下面如果用self.view addSubview:self.label,后面的self.label又调用label的getter方法,就会造成死循环。
另外在实际的开发中切勿滥用懒加载,只要是个对象就写成懒加载的形式,这样其实显得有点累赘。如果某对象是偶尔使用,那么我们就可以使用懒加载。
下面是一个懒加载的简单例子
1 @property(strong,nonatomic)UILabel *label;
2 -(UILabel *)label{ 3 if(!_label) 4 { 5 _label=[[UILabel alloc]initWithFrame:CGRectMake(20, 20, 100, 40)]; 6 _label.text=@"加载"; 7 _label.textColor=[UIColor redColor]; 8 [self.view addSubview: _label]; 9 } 10 return _label; 11 }
分类:
IOS__UI
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端