zoukankan      html  css  js  c++  java
  • Swift中懒加载(lazy initialization)的实现

    Swift中是存在和OC一样的懒加载机制的,但是这方面国内的资料比较少,今天把搜索引擎换成了Bing后发现用Bing查英文最新资料要比百度强上不少。

    我们在OC中一般是这样实现懒加载初始化的:

       1:  @property (nonatomic, strong) NSMutableArray *players;
       2:   
       3:  - (NSMutableArray *)players {
       4:      if (!_players) {
       5:          _players = [[NSMutableArray alloc] init];
       6:      }
       7:      return _players;
       8:  }

    而用百度搜“swift 懒加载 lazy”却没有像样的资料,都在照本宣科。

    实际上我们可以这样写:

       1:  lazy var players: NSMutableArray = {
       2:          var temporaryPlayers = NSMutableArray()
       3:          temporaryPlayers.addObject("Mike Buss")
       4:          return temporaryPlayers
       5:          }()

    完美解决问题!感谢Bing!

    Lazy Initialization with Swift

    http://www.tuicool.com/articles/I3mY7v

    http://stackoverflow.com/questions/24068829/lazy-loading-properties-in-swift

  • 相关阅读:
    Oracle 查看表空间的大小及使用情况sql语句
    Oracle审计--AUD$占用空间较大处理方案
    system表空间爆满解决方法
    Oracle查询库中记录数大于2千万的所有表
    oracle 百万行数据优化查询
    React (Native) Rendering Lifecycle
    React于React native的渲染机制
    Virtual DOM的渲染机制--猜测
    react的优点:兼容了dsl语法与UI的组件化管理
    What is Babel?---JSX and React
  • 原文地址:https://www.cnblogs.com/zeyang/p/4486664.html
Copyright © 2011-2022 走看看