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

  • 相关阅读:
    上传图片时判断图片的模式GRB或CMYK
    正则表达式的6中使用
    SqlServer获得存储过程的返回值
    从零学习wcf(一)
    等比例缩小图片
    模仿Jquery Tab
    jquery ajax调用一般处理程序
    一种感觉
    "敏捷软件开发" 读书笔记叙
    荣迁贵宝地
  • 原文地址:https://www.cnblogs.com/zeyang/p/4486664.html
Copyright © 2011-2022 走看看