非逃避關閉我有一個extension Array
的形式:麻煩與斯威夫特3
extension Array
{
private func someFunction(someClosure: (() -> Int)?)
{
// Do Something
}
func someOtherFunction(someOtherClosure:() -> Int)
{
someFunction(someClosure: someOtherClosure)
}
}
但我得到的錯誤:Passing non-escaping parameter 'someOtherClosure' to function expecting an @escaping closure
。
這兩個閉包實際上都是不可逃避的(默認情況下),並且明確地將@noescape
添加到someFunction
會產生一個警告,指出這是Swift 3.1中的默認值。
任何想法,爲什麼我得到這個錯誤?
你在哪裏有這個錯誤?任何截圖或更多信息? @escaping –
你沒有在someOtherFunction中調用someOtherClosure(),所以它不應該是一個逃避閉包? Swift不是我的主要語言。 –
@Lu_添加屏幕截圖 – XmasRights