Struct / Class 定义中的私有部分 swift 3
Private section swift 3 in Struct / Class definition
在 C++ 中,您可以在 class 定义中指定 "public: / private:" 部分。在 Swift 3 中有没有办法做到这一点,或者我是否必须在每个我希望私有的对象前面使用关键字 "private"?
如果你有
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
}
}
但是,您只能在 class 定义中声明存储的属性,因此 不会 工作…
private extension MyClass {
let myName = "Fred"
}
在这种情况下,您需要将 scope 关键字应用于 属性 本身……
class MyClass {
private let myName = "Fred"
}
在 C++ 中,您可以在 class 定义中指定 "public: / private:" 部分。在 Swift 3 中有没有办法做到这一点,或者我是否必须在每个我希望私有的对象前面使用关键字 "private"?
如果你有
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
}
}
但是,您只能在 class 定义中声明存储的属性,因此 不会 工作…
private extension MyClass {
let myName = "Fred"
}
在这种情况下,您需要将 scope 关键字应用于 属性 本身……
class MyClass {
private let myName = "Fred"
}