• 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

  • 相关阅读:
    vue2.0阻止事件冒泡
    IconFont 图标制作和使用
    Gulp入门教程
    伪类实现特殊图形,一个span加三角形
    Vue渲染列表,在更新data属性后,列表未更新问题
    理解Array.prototype.slice.call(arguments)
    ;(function(){ //代码})(); 自执行函数开头为什么要加;或者!
    Hexo 搭建博客 本地运行 常见报错及解决办法
    说说JSON和JSONP,也许你会豁然开朗
    数组去重的常用方法
  • 原文地址:https://www.cnblogs.com/zeyang/p/4486664.html
Copyright © 2020-2023  润新知