美文网首页工作生活
使用闭包来初始化属性值

使用闭包来初始化属性值

作者: Balopy | 来源:发表于2019-07-03 11:10 被阅读0次

在Swfit中,如果你想确保属性只初始化一次,或创建一次对象,可以使用闭包来初始化属性的值,闲话少说,直接上代码,供大家参考。

class BLTestClass {
    var testPp: String = {
        // 在这个闭包中给 testPp 创建一个默认值
        // someValue 必须和 String 类型相同
        let tmp = "fsdfsa"
        
        print("执行了")
        return tmp
    }()
    
    init() {
        self.testPp = "dfasdf"
        self.testPp = "9090"
        self.testPp = "dfa9999sdf"
        self.testPp = "000000"
    }
}

let some = BLTestClass.init()
let temp1 = some.testPp
let temp2 = some.testPp
let temp3 = some.testPp

print(temp3)//  打印的是最后一个值 000000

注意:
如果你使用闭包来初始化属性的值,请记住在闭包执行时,实例的其它部分都还没有初始化。
这意味着你不能够在闭包里访问其它的属性,就算这个属性有默认值也不允许。
同样,你也不能使用隐式的self属性,或者调用其它的实例方法。

另外,闭包设置默认值,只会执行一次,对于UI 控件的创建比较方便。

相关文章

  • 使用闭包来初始化属性值

    在Swfit中,如果你想确保属性只初始化一次,或创建一次对象,可以使用闭包来初始化属性的值,闲话少说,直接上代码,...

  • swift 闭包的使用

    闭包的使用方式和场景很多,这里我就用闭包传值来做例子吧这里我两边都用了闭包来传值,也使用了两种方法,一种是属性闭包...

  • Swift 类和结构属性的初始化介绍

    通过闭包和函数来设置属性的默认值 在使用Swift写代码的过程对于类和结构体中属性的初始化,一直是模糊不清晰的。下...

  • Swift Tour Learn (五) -- Swift 语法

    本章将会介绍 闭包表达式尾随闭包值捕获闭包是引用类型逃逸闭包自动闭包枚举语法使用Switch语句匹配枚举值关联值原...

  • IOS闭包的简单实用

    申明一个闭包 传值 使用闭包

  • Rust 闭包学习 (Fn/FnMut/FnOnce)

    学习 Rust 闭包记录 闭包作为参数 闭包作为结构体属性 异步使用闭包 主要就是加 Send trait,没加 ...

  • Swift--闭包

    闭包的概念 Swift闭包表达式 使用闭包返回值 使用尾随闭包 捕获上下文中的变量和常量 支持闭包有两个前提1、支...

  • iOS开发之Swift学习(一)

    文章目录:(1)简单值(2)控制流(3)函数和闭包 (1)简单值 使用let来声明常量,使用var来声明变量。常量...

  • 4 iOS类微信日志2018-01-13

    Swift 闭包的使用 步骤: 1. 声明闭包 2. 声明闭包的别名属性 3. 设置回调函数 4. 调用闭包 声明...

  • swift3语法(七)

    闭包 闭包的表达式{ (参数列表) -> 返回值类型 in 代码执行体} 基本使用 // 定义闭包参...

网友评论

    本文标题:使用闭包来初始化属性值

    本文链接:https://www.haomeiwen.com/subject/erfqhctx.html