如何在Swift中创建私有函数?

Sir*_*III 20 swift ios8

如何在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()
    }

}
Run Code Online (Sandbox Code Playgroud)

但如果这是唯一的方法....

Gab*_*lla 16

目前在swift中没有可见性修饰符.

在开发者论坛上,语言作者表示,它位于优先级列表的首位.

这里引用greg parker :

我们通常不会为未来做出任何承诺,但在这种情况下,我们正在例外.Swift将拥有访问控制机制.

在同一个论坛中,他们建议您以这种方式使用嵌套类,但这实际上只是为了防止代码完成捕获内部方法.在任何人都可以实例化嵌套类并访问这些方法的意义上,它们并不是真正的私有.

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)
    }
}
Run Code Online (Sandbox Code Playgroud)