简单直接的回答是: 1. 作用:推迟初始化(以优化性能)和 在初始化时访问 。 2. 线程安全:不是。Swift 的 属性在多线程环境下不保证只初始化一次。 --- 下面是详细的解释: 一、 (懒加载) 的作用 关键字用于定义一个存储属性,该属性的初始值直到它第一次被访问时才会被计算。 主要有以下两个核心用途: 1. 优化性能(避免不必要的开销) 如果一个属性的初始化非常耗时(例如:读取文件、复杂的计算、网络请求),或者该属性在对象的生命周期中可能根本不会被用到,使用 可以避免在对象初始化()时就进行昂贵的操作。 2. 初始化依赖于 普通的属性在初始化时,不能引用 (因为此时实例还未完全初始化)。但是 属性的闭包在执行时,实例已经初始化完成,因此可以访问 。这在配置 UI 组件或设置代理时非常有用。 --- 二、 它一定是线程安全的吗? 答案:不是。 Swift 官方文档明确指出: > If a property marked with the modifier is accessed by multiple threads simultaneously and the prop...