加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – var声明后这个花括号块做了什么?

发布时间:2020-12-14 04:43:36 所属栏目:百科 来源:网络整理
导读:我正在看这个 Swift代码: var modelController: ModelController { if _modelController == nil { _modelController = ModelController() } return _modelController!}var _modelController: ModelController? = nil 我感兴趣的是第一行:它声明了一个名为m
我正在看这个 Swift代码:

var modelController: ModelController {
    if _modelController == nil {
        _modelController = ModelController()
    }
    return _modelController!
}

var _modelController: ModelController? = nil

我感兴趣的是第一行:它声明了一个名为modelController的变量,类型为ModelController,后面是一些用花括号括起来的代码,我认为在Swift中称为闭包.

这个闭包有什么作用?什么时候执行?这种模式叫什么?我正在使用Swift 3.

解决方法

这称为 computed property.您在这里看到的是一种只读的计算属性.

每次访问属性(在本例中为self.modelController)时,闭包都会运行,返回将用于属性的值.

在给出的示例中,代码检查是否设置了另一个变量_modelController,如果没有则设置它,然后返回该值.这是第一次访问对象时延迟加载对象的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读