swift 中let常量什么场景下可以对其赋值呢?

2021-04-05  本文已影响0人  90后的晨仔

提到let常量,想必大家第一时间能想到的就是它声明的值是常量,无法被写入赋值。
它的这个特性对于线程安全来讲是十分有用的。但是在swift中有一处特殊的地方就是在指定的初始化方法中可以对let常量进行赋值,还不会报错,why?代码如下:
本人掘金写作地址

class TestObjc {
    let tempStr: String
    init(str: String) {
        tempStr = str
    }
}

let testObj = TestObjc.init(str: "你好")
print(testObj.tempStr)

分析: 因为在swift中的init方法是安全并且只会被调用一次,所以我们在这里对常量进行赋值操作不会引起任何线程安全的问题。

上一篇 下一篇

猜你喜欢

热点阅读