gpt4 book ai didi

ios - 如何快速检查失败状态下的 JSON 条件

转载 作者:行者123 更新时间:2023-11-28 13:22:54 24 4
gpt4 key购买 nike

从 JSON 我获得成功和失败状态,我能够检查成功状态但这里无法检查登录中的失败状态条件。登录页面包含电话号码和密码文本字段。

如果我在这里输入非注册电话号码,我需要在警告消息下方显示:

["status": Failed, "msg": Phone number does not exist]

如果我为电话号码输入了错误的密码,那么我需要在警告中显示以下消息:

["status": Failed, "msg": You have entered wrong password]

如果我输入错误的电话号码和密码,那么我需要在警告中显示以下信息:

["status": Failed, "msg": Invalid Credentials]

但我无法检查所有条件,如果我输入错误的密码或未注册的电话号码,我总是只会收到 Invalid Credentials

在此处的注册页面中,我得到 uid 以使用电话号码和密码成功注册:

do {
let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as! [String: Any]
print("the json of otppppppppp \(json)")
DispatchQueue.main.async {
if (self.otpTextField.text == String(self.otpField ?? 12)){
print("registration successfullllll...")
let mobileNum = json["mobile_number"] as! [String : Any]
self.regUid = mobileNum["id"] as? String
let name = mobileNum["name"] as? String
let phNum = mobileNum["username"] as? String
DispatchQueue.main.async {
KeychainWrapper.standard.set(self.regUid!, forKey: "regUid")
KeychainWrapper.standard.set(phNum!, forKey: "user_phnum")
KeychainWrapper.standard.set(self.passwordTextField.text!, forKey: "user_password")
}

let loginVC = self.storyboard?.instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController
self.present(loginVC, animated: true)
}
}
}

在登录页面无法检查电话号码是否已注册,以及注册手机的密码是否错误。

我一直显示 Invalid Credentials 失败状态:

do {
let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as! [String: Any]
print("the json of loginnnnnn \(json)")
var loginStatus = json["status"] as? String

DispatchQueue.main.async {
if loginStatus == "Failed"
{
AlertFun.ShowAlert(title: "", message: "Invalid Credentials", in: self)
}
else{
self.Uid = json["id"] as? String

let emailL = json["user_email"] as? String
print("login uid \(String(describing: self.Uid))")

KeychainWrapper.standard.set(emailL ?? "", forKey: "user_email")
let saveUserId: Bool = KeychainWrapper.standard.set(self.Uid!, forKey: "Uid")

let mainStoryBoard = UIStoryboard(name: "Main", bundle: nil)
let navigationController = mainStoryBoard.instantiateViewController(withIdentifier: "HomeNavigation")
let appDelagate = UIApplication.shared.delegate
appDelagate?.window??.rootViewController = navigationController
}
}
}

请帮我在登录页面检查以上条件。

最佳答案

据我了解,您希望根据从 JSON 中获取的状态显示不同的消息。

您可以简单地执行此操作。

AlertFun.ShowAlert(title: "", message: json["msg"], in: self)

为了安全起见,应该使用 guard 语句解包 json["msg"] 的值并将其显示在警报中。

关于ios - 如何快速检查失败状态下的 JSON 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58842078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com