我觉得这应该相对简单,但我找不到实现它的方法.
我想说
class Parent {
public var file: PFFile?
}
Run Code Online (Sandbox Code Playgroud)
和一个子类
class Child : Parent {
// some functionality that hides access to super.file
}
Run Code Online (Sandbox Code Playgroud)
问题是我不能搞乱Parent类,但我不希望任何使用Child类的人有权访问'file'.我怎样才能在Swift中实现这一目标?
根据Swift 文档
\n\n\n\n\n您可以通过将方法、属性或下标标记为 Final 来防止其被覆盖\n。为此,请在方法、属性或下标\xe2\x80\x99s 引入关键字(例如final\n var、final func、final class func 和final 下标)之前写入final 修饰符。
\n
所以你可以将父类声明为
\n\nclass Parent {\n final var file: PFFile?\n}\nRun Code Online (Sandbox Code Playgroud)\n\n或者如果你不能修改父类那么也许这会起作用
\n\nclass Child : Parent {\n override private final var file: PFFile?\n}\nRun Code Online (Sandbox Code Playgroud)\n