解析错误处理 swift 3

Posted

技术标签:

【中文标题】解析错误处理 swift 3【英文标题】:Parse Error Handling swift 3 【发布时间】:2016-11-17 21:47:03 【问题描述】:

在 Parse 文档中,我们可以在 Swift 中找到此会话错误处理。

// 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)
  

有人可以帮我实现 swift 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

我真的被困住了!

非常感谢!

【问题讨论】:

【参考方案1】:

看起来您在其他函数中声明了handleInvalidSessionTokenError(),在 Parse 的示例中,它是一个私有类函数。关于错误,您可以尝试改用 case PFErrorCode.errorInvalidSessionToken.rawValue

【讨论】:

您对PFErrorCode.errorInvalidSessionToken.rawValue 的建议奏效了!但现在我得到另一个错误。你能看看更新的问题吗? 好吧,不用担心,我想通了

以上是关于解析错误处理 swift 3的主要内容,如果未能解决你的问题,请参考以下文章

Swift 2 错误处理的问题

swift swift中的错误处理3

Swift 3 中的错误处理

swift 3 和 Xcode 8 中的完成处理程序错误

iOS开发-Swift进阶之反射Mirror & 错误处理!

如何使用 Spotify SDK 和 Swift 3 正确处理令牌刷新。错误代码 = 3840