2016-11-17 1 views
2

В документации по синтаксическому анализу мы можем найти эту обработку ошибок сеанса в Swift.Процедура обработки рутинных ошибок 5

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

Может ли кто-нибудь помочь мне сделать это быстро?

До сих пор я сделал следующие

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 !! –

 Смежные вопросы

  • Нет связанных вопросов^_^