setter private&在我的情况下公开

时间:2017-09-11 15:34:20

标签: swift

我有一个包含一个自定义对象Student变量的类:

public class School {

  private var _stu: Student?

  public var student:Student? {
     get {
        return self._stu
     }
     set {
        self._stu = newValue
     }
  }
}

这捆绑在我的iOS框架项目中。

我的问题是,如何将student setter 设为私​​有,只允许 getter 公开? (使用我的框架成像另一个iOS项目)

=====更新====

我试过

public private(set) var student {
   // getter & setter
   ...
}

然而,它并不能满足我的需要。 我需要的是:

1。在使用我的框架的其他iOS项目中无法访问setter。上面的代码适用于此。

2. 在我的框架项目中,另一个类仍然可以访问setter。 以上代码不适用于此

是否有可能满足我的需求?

1 个答案:

答案 0 :(得分:3)

你可以说(模板):

accesslevel1 accesslevel2(set) var varname

例如:

public private(set) var student

根据您的使用情况进行调整。