在注册过程中,用户可能会导致多个错误,例如 已使用的用户名,无效的电子邮件地址等......
Parse在错误对象中返回所有需要的信息,请参阅http://parse.com/docs/dotnet/api/html/T_Parse_ParseException_ErrorCode.htm
我能找到的是如何使用它们,例如如何访问它们以便编写一个开关来捕捉所有可能性:
user.signUpInBackgroundWithBlock {
(succeeded: Bool!, error: NSError!) -> Void in
if error == nil {
// Hooray! Let them use the app now.
self.updateLabel("Erfolgreich registriert")
} else {
println(error.userInfo)
}
}
如何切换可能的错误代码? 请指教 谢谢!
答案 0 :(得分:9)
NSError
还有一个名为code
的属性。该代码包含您需要的错误代码。所以你可以使用该代码创建一个switch语句:
user.signUpInBackgroundWithBlock {
(succeeded: Bool!, error: NSError!) -> Void in
if error == nil {
// Hooray! Let them use the app now.
self.updateLabel("Erfolgreich registriert")
} else {
println(error.userInfo)
var errorCode = error.code
switch errorCode {
case 100:
println("ConnectionFailed")
break
case 101:
println("ObjectNotFound")
break
default:
break
}
}
}
答案 1 :(得分:1)
嗨,我会做像
这样的事情if let error = error,let code = PFErrorCode(rawValue: error._code) {
switch code {
case .errorConnectionFailed:
print("errorConnectionFailed")
case .errorObjectNotFound:
print("errorObjectNotFound")
default:
break
}
}
您有完整的错误列表:https://github.com/parse-community/Parse-SDK-iOS-OSX/blob/master/Parse/PFConstants.h#L128
答案 2 :(得分:0)
您还可以使用PFErrorCode
:
user.signUpInBackgroundWithBlock {
(succeeded: Bool!, error: NSError!) -> Void in
if error == nil {
// Hooray! Let them use the app now.
self.updateLabel("Erfolgreich registriert")
} else {
println(error.userInfo)
var errorCode = error!.code
switch errorCode {
case PFErrorCode.ErrorConnectionFailed.rawValue:
println("ConnectionFailed")
case PFErrorCode.ErrorObjectNotFound.rawValue:
println("ObjectNotFound")
default:
break
}
}
}