0
Swift 2+のコードをSwift 3に変換しようとしています。私はSwift 3の構文要件に従って修正できないtypealias
コードの参照があります。Swift 3でメソッドを型変換する方法は?
typealias UpdateProcessHandler = (_ value:Double) -> Void
class StartUploadingProcess: Operation
{
...
fileprivate var updateHandler: UpdateProcessHandler!
init(filePath: String, updateHandler:@escaping UpdateProcessHandler)
{
self.updateHandler = updateHandler
...
}
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?)
{
...
self.updateHandler(value: self.progress.fractionCompleted)
...
}
}
私はXCodeのレポートコンパイラエラーが、メソッドを呼び出すself.updateHandler
しようとしている:私はこれを持つか、どのようにこの問題を解決するよなぜCannot call value of non-function type 'UpdateProcessHandler!'
いかなる理由が?
それを尊重します。関数シグネチャのアンダースコアは、 'value'のラベルがないことを意味します。 – Connor