2016-10-17 5 views
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) 
     ... 
    } 
} 

나는 방법 self.updateHandler, 엑스 코드 보고서 컴파일러 오류를 호출하려고 해요 때 :이 가진 또는 방법이 문제를 해결하는거야 왜 Cannot call value of non-function type 'UpdateProcessHandler!'

어떤 이유?

답변

2
self.updateHandler(self.progress.fractionCompleted) 
+0

그것은 그것을 존중합니다. 함수 시그니처의 밑줄은 'value'에 대한 레이블이 없음을 의미합니다. – Connor

관련 문제