我有一个以以下形式表示的 Array
扩展:
extension Array
{
private func someFunction(someClosure: (() -> Int)?)
{
// Do Something
}
func someOtherFunction(someOtherClosure: () -> Int)
{
someFunction(someClosure: someOtherClosure)
}
}
但我遇到了错误:
将非逃逸参数“someOtherClosure”传递给需要@escaping闭包的函数
。两个闭包确实都是非逃逸的(默认情况下),并且在
someFunction
中显式添加@noescape
会产生警告,表明这是Swift 3.1中的默认设置。你有什么想法为什么会出现这个错误?
-- 更新 -- 附带截图:
![enter image description here](https://istack.dev59.com/7acVN.webp)