假定有两类为什么我不能在类/静态方法中使用private,internal,fileprivate方法?
文件:
import Foundation
class ClassA {
/// a method that I don't want to exposed to others
static func privateMethod(append aStirng:String) -> String {
return "Appended String:" + aStirng
}
static func classMethod() -> String {
let theString = privateMethod(append: "random string") //problematic line when privateMethod(append:) is declared as private,fileprivate,internal...
return theString
}
}
文件B:
import Foundation
class ClassB {
func aMethod() {
print(ClassA.classMethod())
}
}
这工作。但我不希望ClassB使用privateMethod(append:)
,如ClassA.privateMethod(append: "")
。所以我用private
,internal
,fileprivate
标记了这个方法,但没有一个能够工作。
为什么会这样呢?以及如何隐藏ClassB的方法?
[编辑]这两个类是分开来分开文件还是合并到一个文件并不重要。仍然发生错误
@Hamish是的,我得到一个编译错误。我添加了图像 –