假定有兩類爲什麼我不能在類/靜態方法中使用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是的,我得到一個編譯錯誤。我添加了圖像 –