不忍写下去。。。

enum LazyValue{    case NotComputed(()->T)    case Computed(T)}class LazyClass{    private var  _value : LazyValueinit(computation:()->T){

self._value = .NotComputed(computation)

}

//get Method

var value : T {

switch self._value {

case .NotComputed(let temp):

let result = temp();

self._value = .Computed(result)

return result

case .Computed(let temp):

return temp;

}

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,860评论 0 9
  • title: Optical Character Recognition (OCR)author: Marina ...
    4a87cc38dcbc阅读 2,880评论 0 0
  • Effective TensorFlow Table of Contents TensorFlow Basics ...
    法布雷加嘻阅读 3,671评论 0 1
  • 昨天下午16:08我没接到一通没有备注的电话,显示和我是同个地方的,直到晚上19:45才发现,我回拨过去…… “嘟...
    世界又大又小阅读 2,361评论 0 0
  • 级联下拉列表框这种常见的需求,相信大家都经常遇到,下面两种写法都曾运用在项目,测试是没问题,但代码可能不是最好的,...
    Jill1231阅读 9,748评论 1 2