2016-11-17 69 views
2

在解析文檔中,我們可以在Swift中找到這個會話錯誤處理。解析錯誤處理swift 3

// Swift 
class ParseErrorHandlingController { 
    class func handleParseError(error: NSError) { 
    if error.domain != PFParseErrorDomain { 
     return 
    } 

    switch (error.code) { 
    case kPFErrorInvalidSessionToken: 
     handleInvalidSessionTokenError() 

    ... // Other Parse API Errors that you want to explicitly handle. 
    } 

    private class func handleInvalidSessionTokenError() { 

    } 
} 

// In all API requests, call the global error handler, e.g. 
let query = PFQuery(className: "Object") 
query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]!, error: NSError!) -> Void in 
    if error == nil { 
    // Query Succeeded - continue your app logic here. 
    } else { 
    // Query Failed - handle an error. 
    ParseErrorHandlingController.handleParseError(error) 
    } 
} 

有人可以幫我做到迅速3嗎?

直到現在我也做了以下

import Foundation 
import Parse 

class ParseErrorHandlingController { 
    class func handleParseError(error: NSError) { 
     if error.domain != PFParseErrorDomain { 
      return 
     } 

     switch (error.code) { 
     case PFErrorCode.errorInvalidSessionToken.rawValue: 
      handleInvalidSessionTokenError() //error here again. 

      // Other Parse API Errors that you want to explicitly handle. 
     } 


    } 
    func handleInvalidSessionTokenError() { 
     PFUser.logOutInBackground { (error) -> Void in 
      if error == nil { 
       likesOfArray.removeAll() 

      } 

     } 

    } 

我呼籲用下面的代碼的功能。

ParseErrorHandlingController.handleParseError(error: error as! NSError) 

,但我得到以下錯誤

Missing argument for parameter #1 in call 

我真的stucked!

非常感謝!

回答

1

看起來您在其他函數中聲明瞭handleInvalidSessionTokenError(),在Parse的示例中它是一個私有類函數。關於錯誤,您可以嘗試使用案例PFErrorCode.errorInvalidSessionToken.rawValue

+0

您對「PFErrorCode.errorInvalidSessionToken.rawValue」的建議奏效!但是現在我得到另一個錯誤。你能看看更新的問題嗎? –

+0

好吧,不用擔心,我想它<3! –