Swift 中的 'public private' 访问控制是什么?

What is 'public private' access control in Swift?

public private(set) lazy var view: UIView()

据我了解 - 这是模块的 public 但 class 私有的?我很困惑。

首先,您提供的代码中存在错误。

  • 您不能在任何 ViewController 中创建名称为 view 的对象,因为层次结构顶部的 superView 仅称为 查看

  • 您必须生成对象以将其识别为 惰性。您必须生成对象并且它必须准备好使用 return 创建。换句话说,如果你想只在需要的时候创建对象,你必须使用惰性,所以它应该是这样的:

    public private(set) lazy var yourView: UIView = {
       return UIView()
    }()
    

是时候回答您的问题了。

这意味着该对象是 public 获取和私有设置的,因此您可以从任何地方读取它,但只需将它写在创建它的地方。