Swift 4 - 扩展内部的私有方法

问题描述 投票:1回答:1

我正在寻找一种在扩展中编写私有函数的方法。

例如:

class A: UIViewController {
    override viewDidLoad() {
        privateFoo()
    }
}

private extension A {
    func foo() { 
        privateFoo()
    }

    private func privateFoo() { //Helper function for foo(), expected to be called inside the scope of this extension only

    }
}

但是,即使我将privateFoo()声明为private,我仍然可以从扩展名外部调用它,这不是我预期的。

你能帮助我一个人如何实现我的目标吗?

swift methods private
1个回答
3
投票

对不起,我没有足够的声誉来回复。

我想你可以将你的private extension放在其他文件中,它会起作用。


For example:

FileA.swift
class A {
}

FileB.swift

private extension A {
    func foo() { 
        privateFoo()
    }

    func privateFoo() { 
    }
}

希望能帮助到你!

© www.soinside.com 2019 - 2024. All rights reserved.