在C ++中,您可以指定" public:/ private:"类定义中的部分。有没有办法在Swift 3中执行此操作,或者我必须使用关键字" private"在我希望私密的每个物体前面?
答案 0 :(得分:2)
如果你有
class MyClass {
}
您可以声明作用域扩展名,例如
fileprivate extension MyClass {
var someThing: String { // This computed property is fileprivate
return "ABC"
}
func doSomething() { // This func is fileprivate
}
}
public extension MyClass {
var someOtherThing: String { // This computed property is public
return "123"
}
func doSomethingElse() { // This func is public
}
}
但是,您只能在类定义中声明存储的属性,因此不会工作...
private extension MyClass {
let myName = "Fred"
}
在这种情况下,您需要将scope关键字应用于属性本身...
class MyClass {
private let myName = "Fred"
}