2017-01-06 12 views
1

입력 오류의 값을 변환 할 수 없습니다 : 그러나 http://shrikar.com/ios-swift-development-step-counter-app-using-pedometer-data/내가 스위프트 꽤 새로운 해요, 그래서이 페이지에서 보수계 응용 프로그램을 만드는 방법에 대한 자습서 다음있어 스위프트

을, 그 얼마 전에에서했다 그래서 나는 그것을 업데이트하고 아주 멀리 가지 않고있다. 이 오류가 계속 :

Cannot convert value of type '(CMPedometerData?, NSError?) -> Void' to expected argument type 'CMPedometerHandler' (aka '(Optional<CMPedometerData>, Optional<Error>) ->()') 

가 여기에 지금까지 내 코드입니다 :

if(CMPedometer.isStepCountingAvailable()){ 
     let fromDate = NSDate(timeIntervalSinceNow: -86400 * 7) 
     self.pedoMeter.queryPedometerDataFromDate(fromDate as Date, toDate: NSDate() as Date) { (data : CMPedometerData?, error: NSError?) -> Void in 
      DispatchQueue.main.async(){ 
       if(error == nil){ 
        self.steps.text = "\(data.numberOfSteps)" 
       } 
      } 
     } 

     self.pedoMeter.startPedometerUpdatesFromDate(newDay) { (data: CMPedometerData?, error: NSError?) -> Void in 
      DispatchQueue.main.async(){ 
       if(error == nil){ 
        self.steps.text = "\(data.numberOfSteps)" 
       } 
      } 
     } 
    } 

오류가 다음 줄에서 발생합니다

{ (data : CMPedometerData?, error: NSError?) -> Void in 
      DispatchQueue.main.async(){ 

감사 어떤 도움.

+0

자습서는 오래되었고 아마도 프로젝트에서 Swift 3을 사용하고있을 것입니다 .NSError가 Error로 변경되었습니다. 튜토리얼이 발표 된 이후 Swift의 변경으로 인해 다른 문제가 발생할 수도 있습니다. – Gruntcakes

+0

네, 답장을 보내 주셔서 감사합니다. –

답변

2

NSError?을 사용하는 반면 Error?을 예상합니다. 시도하십시오

+1

와우, 그만큼 간단합니다. 정말 고맙습니다. –