Swift 4 - 扩展内的私有方法
Swift 4 - Private method inside extension
我正在寻找一种在扩展中编写私有函数的方法。
例如:
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
,我仍然可以从扩展外部调用它,这不是我所期望的。
有人能帮我实现我的目标吗?
抱歉,我没有足够的声誉来回复。
我认为您可以将 private extension
放在其他文件中,这样就可以了。
例如:
FileA.swift
class A {
}
FileB.swift
private extension A {
func foo() {
privateFoo()
}
func privateFoo() {
}
}
希望对您有所帮助!
我正在寻找一种在扩展中编写私有函数的方法。
例如:
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
,我仍然可以从扩展外部调用它,这不是我所期望的。
有人能帮我实现我的目标吗?
抱歉,我没有足够的声誉来回复。
我认为您可以将 private extension
放在其他文件中,这样就可以了。
例如:
FileA.swift
class A {
}
FileB.swift
private extension A {
func foo() {
privateFoo()
}
func privateFoo() {
}
}
希望对您有所帮助!