• iOS学习之懒加载


    懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,其实是重写getter方法.

    注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化

    使用懒加载的好处:

    (1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强

    (2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合

    代码示例:

    //需求:创建自定义的cell,包含头像,姓名,电话,和拨打电话按钮.

    //重写cell的初始化方法


    - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { //添加子控件 [self.contentView addSubview:self.avaterView]; [self.contentView addSubview:self.nameLabel]; [self.contentView addSubview:self.phoneLabel]; [self.contentView addSubview:self.callBtn]; } return self; } #pragma mark - 懒加载,重写getter方法 //布局子控件
    - (UIImageView *)avaterView { if (!_avaterView) { self.avaterView = [[[UIImageView alloc] initWithFrame:CGRectMake(20, 5, 40, 40)] autorelease]; self.avaterView.layer.cornerRadius = 5;  //设置圆角 self.avaterView.layer.masksToBounds = YES; //将超出部分裁剪掉.(默认不会裁掉,因此圆角效果不会出现) } return [[_avaterView retain] autorelease];  //安全处理 } - (UILabel *)nameLabel { if (!_nameLabel) { self.nameLabel = [[[UILabel alloc] initWithFrame:CGRectMake(70, 5, 80, 40)] autorelease]; self.nameLabel.textColor = [UIColor blackColor]; } return [[_nameLabel retain] autorelease]; } - (UILabel *)phoneLabel { if (!_phoneLabel) { self.phoneLabel = [[[UILabel alloc] initWithFrame:CGRectMake(170, 5, 150, 40)] autorelease]; self.phoneLabel.textColor = [UIColor grayColor]; } return [[_phoneLabel retain] autorelease]; } - (UIButton *)callBtn { if (!_callBtn) { self.callBtn = [UIButton buttonWithType:UIButtonTypeCustom]; self.callBtn.frame = CGRectMake(330, 5, 40, 40); [self.callBtn addTarget:self action:@selector(handleCall:) forControlEvents:UIControlEventTouchUpInside]; [_callBtn setImage:[UIImage imageNamed:@"action_call"] forState:UIControlStateNormal]; } return [[_callBtn retain] autorelease]; }
  • 相关阅读:
    课程设计第二十二天,09.09
    课程设计第二十一天,09.08
    课程设计第二十天,09.07
    课程设计第十九天,09.06
    课程设计第十八天,09.05
    课程设计第十七天,09.04
    数词、介词、连词
    形容词、副词
    情态动词、非谓语动词、虚拟语气、独立主格结构
    词法、句法、短语、从句和句子、主谓一致、特殊句式
  • 原文地址:https://www.cnblogs.com/ErosLii/p/4498696.html
Copyright © 2020-2023  润新知