文档章节

懒加载

TaciturnKnightYQ
 TaciturnKnightYQ
发布于 2015/12/04 19:29
字数 289
阅读 162
收藏 0

懒加载

在 iOS 开发中,懒加载是无处不在的

  • 懒加载的格式如下:

lazy var person: Person = {    print("懒加载")    return Person()
}()
  • 懒加载本质上是一个闭包

  • 以上代码可以改写为以下格式

let personFunc = { () -> Person in
    print("懒加载")    return Person()
}
lazy var demoPerson: Person = self.personFunc()
  • 懒加载的简单写法

lazy var demoPerson: Person = Person()


import UIKit


class ViewController: UIViewController {


    // ``加载 - 本质上是一个闭包

    /**

        第一次访问属性时,会执行后面的闭包代码,将闭包的`结果`保存在 person 属性中

        下次再访问,不会再执行闭包!

    

        如果没有lazy,会在 initWithCoder 方法中被调用,当 二进制的 storyboard 被还原成视图控制器对象之后,就会被调用

    

        提示:在开始的时候,可以先尝试记忆语法!

    */

    lazy var person: Person = {

        print("懒加载")

        

        return Person()

    }()

    

    // -- 以下代码仅供参考,演示闭包 --

    // 1. 定义闭包

    let personFunc = { () -> (Person) in

        print("懒加载测试....")

        return Person()

    }

    

    // 2. 测试懒加载属性

    lazy var demoPerson: Person = self.personFunc()

    // ------------

    


    // 懒加载的简单写法

    lazy var demoPerson2: Person = Person()

    

    override func viewDidLoad() {

        super.viewDidLoad()


//        print(person)

    }


    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

        print(demoPerson2)

    }


}


© 著作权归作者所有

共有 人打赏支持
TaciturnKnightYQ
粉丝 4
博文 62
码字总数 26671
作品 0
高级程序员
私信 提问
Hibernate懒加载

面试题: get、load方法区别? get: 及时加载,只要调用get方法立刻向数据库查询 load:默认使用懒加载,当用到数据的时候才向数据库查询。 懒加载:(lazy) 概念:当用到数据的时候才向数据库...

爪哇程序猿
2015/10/22
165
0
关于Hibernate懒加载----Spring filter

处理方法:在web.xml中,配置(拦截器需要在sturts2之前) <!-- Spring 懒加载 拦截器 --><filter><filter-name>OpenSessionInViewFilter</filter-name><filter-class>org.springframework.o......

明天以后
2014/05/29
0
0
Hibernate中的加载机制

Hibernate中有两种加载机制: 1:即时加载机制:在使用get方式获取数据时,hibernate会先检查缓存中是否有我们需要的数据,如果没有立即执行hql语句在数据库中进行加载数据。 2:懒加载机制:在...

叶欢欢
2016/11/11
7
0
Entity Framework Core 懒加载

众所周知在EF 6 及以前的版本中,是支持懒加载(Lazy Loading)的,可惜在EF Core 并不支持,必须使用方法来支持导航属性的数据加载。不过现在EF Core的开发团队打算恢复对这一功能的支持(目...

dotNET跨平台
01/25
0
0
hibernate读书笔记-懒加载《-》

懒加载是指程序推迟访问数据库,这样做可以保证有时候不必要的访问数据库,因为访问一次数据库是比较耗时的。 一、load方法的懒加载 先看如下代码段 [java] view plaincopyprint? <EMBED id=...

xiaml
2014/04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Charles抓包简单使用

安装Charles, 注册https://blog.csdn.net/qq_25821067/article/details/79848589 打开代理,抓取全部流量 抓移动设备包 移动设备设置代理为当前电脑的Ip地址,端口8888,然后访问chls.pro/...

SuShine
2分钟前
0
0
Elasticsearch的简单操作

package com.dongpeng.es;import java.io.IOException;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.concurrent.TimeUnit;impor......

魔法王者安琪拉
4分钟前
0
0
父亲写的散文诗

许飞的单曲《父亲写的散文诗》 一九八四年 庄稼还没收割完 女儿躺在我怀里 睡得那么甜 今晚的露天电影 没时间去看 妻子提醒我 修修缝纫机的踏板 明天我要去 邻居家再借点钱 孩子哭了一整天啊...

简心
5分钟前
0
1
浅谈格雷厄姆的《证券分析》

本杰明-格雷厄姆是价值投资的祖师爷,是巴菲特的师傅,我丝毫不敢对他不敬。他的两本书《证券分析》和《聪明的投资者》是每位做投资者必读的经典之书。 国内读者对《证券分析》作者格雷厄姆的...

酒逢知己千杯少
6分钟前
0
0
非原生app开发app

1.变色龙云,一门app 对域名打包 2.apicloud,wex5,自由平台提供的规则开发 3.react native ,Cordova 框架开发 4.Hbuild IDE打包

妖尾巴
7分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部