参见英文答案 >
Does Swift have access modifiers?1
如何在Swift中创建私有函数?
如何在Swift中创建私有函数?
这是一个例子:
import UIKit class AnotherClass { var someVar = 1 let someConst = 2 func somePrivateFunc() -> Bool { return true } func someFunc() -> (Int -> Bool) { var someInnerFuncVar = { (num: Int)->Bool in return true } return someInnerFuncVar } init() { var vc = ViewController() } }
但是,如果这是唯一的做法….
目前swift没有可见性修饰符。
在开发者论坛上,语言作者表示,它们位于其优先级列表的首位。
引用greg parker从here:
We don’t usually promise anything for the future,but in this case we are making an exception. Swift will have access control mechanisms.
在同一个论坛中,他们建议您以这种方式使用嵌套类,但这只是为了防止代码完成来捕捉内部方法。在任何人都可以实例化嵌套类并访问这些方法的意义上,他们并不是私人的。
import Foundation class KSPoint { class _KSPointInner { class func distance(point p1 : KSPoint,toPoint p2 : KSPoint) -> Double { return sqrt(pow(Double(p2.x - p1.x),2) + pow(Double(p2.y - p1.y),2)) } } var x : Int func distance(point : KSPoint,toPoint : KSPoint) -> Double { return _KSPointInner.distance(point: point,toPoint: toPoint) } }