我有一个包含一个自定义对象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。 以上代码不适用于此。
是否有可能满足我的需求?
答案 0 :(得分:3)
你可以说(模板):
accesslevel1 accesslevel2(set) var varname
例如:
public private(set) var student
根据您的使用情况进行调整。