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:  }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

 

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

 

实际上我们可以这样写:

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

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

 

完美解决问题!感谢Bing!

 

Lazy Initialization with Swift

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

 

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

最新文章

  1. Git版本控制管理学习笔记1-介绍
  2. Python【7】-数据分析准备
  3. io流操作大全
  4. Linux 之创建工作目录-mkdir
  5. CentOS6.5 ssh远程连接缓慢解决方法
  6. 找出数组中出现奇数次的元素<异或的应用>
  7. 【结构型】Adapter模式
  8. Ubuntu下安装PDF 文档阅读器Adobe Reader 9.5.5
  9. Servlet中Response对象应用1(输出简单文字、实现文件下载)
  10. [css 揭秘]:CSS揭秘 技巧(一):半透明边框
  11. nginx,maven
  12. 20165232 学习基础和c语言基础调查
  13. Mac Lion Configure Apache
  14. StarRTC , AndroidThings , 树莓派小车,公网环境,视频遥控(一)准备工作
  15. Ubuntu 12.04中MyEclipse 10.6+下载+安装+破解
  16. What Shape Layers Are-CAShapeLayer
  17. python 多线程笔记(1)-- 概念
  18. lvs学习总结
  19. 极客技术专题【011期】:EasyUI初级教程
  20. 关于在ubuntu平台下使用apt-get命令下载速度太慢的问题解决

热门文章

  1. SpringMVC——说说视图解析器
  2. POJ 1320 Street Numbers 解佩尔方程
  3. 【poj3415-长度不小于k的公共子串个数】后缀数组+单调栈
  4. [bzoj3277==bzoj3473]出现k次子串计数——广义后缀自动机+STL
  5. MYSQL5.7修改密码
  6. Swift 闭包(六)
  7. ZigBee PHY层
  8. IC卡的传输协议(3)【转】
  9. IC卡的传输协议(2)-块传输协议T=1续【转】
  10. button的格式的问题