如果Alamofire请求的响应是否为200,我将如何更改seque视图

用户名

所以我正在开发一个登录到我也在使用alamofire的应用程序。现在,我要做的就是在连接的响应代码为200(成功)时进入一个新视图,然后在响应代码为204(失败)时进入另一个窗口。 。

这是我目前的IBAction

 @IBAction func loginBtn(_ sender: Any) {

    self.dismiss(animated: true, completion: nil)
    self.performSegue(withIdentifier: "login", sender: isvalid200())

    self.dismiss(animated: true, completion: nil)
    self.performSegue(withIdentifier: "error", sender: isinvalid())

现在我知道那不是应该怎么做,而是我的想法。另外,这是我的错误处理代码。

func isvalid200(){

    Alamofire.request("https://myanimelist.net/api/account/verify_credentials.xml/\(user)/\(pass)")
        .validate(statusCode: 200..<200) // if error is 200
        .validate(contentType: ["application/json"])


       }


    func isinvalid() {


    Alamofire.request("https://myanimelist.net/api/account/verify_credentials.xml/\(user)/\(pass)")
        .validate(statusCode: 204..<204) // if error is 204
        .validate(contentType: ["application/json"])
    }

至于我得到的错误是这样的

MyAnime [7446:265163]>的窗口不等于“视图的窗口”!

(没有self.dimiss但有它,它确实可以工作,但是它不会停留在基于响应代码IE 200或204的特定窗口上。

任何帮助将是巨大的!

贾斯汀

尝试类似这样的操作以打开statusCode

@IBAction func loginBtn(_ sender: Any) {
   Alamofire.request("https://myanimelist.net/api/account/verify_credentials.xml/\(user)/\(pass)").responseJSON { [weak self] response in
      guard let strongSelf = self, let resp = response.response else { return }
    switch resp.statusCode {
       case 200:
          DispatchQueue.main.async {
            strongSelf.performSegue(withIdentifier: "login", sender: strongSelf)
          }
       case 204:
          DispatchQueue.main.async {
            strongSelf.performSegue(withIdentifier: "error", sender: strongSelf)
          }
       default:
        //Some other status code
    }
  }
}

为了对正在发生的事情给出一些解释,让我们将其逐步分解:

  • 用户输入用户名/密码后按登录按钮
  • 您发出网络请求以验证凭据
  • 收到回复后,您就可以根据状态码来处理此用户是否为有效用户
  • 此时,您只需要执行必要的设置即可过渡到下一个视图控制器。仅当您想返回到呈现视图控制器时,才调用dismiss。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查HTTP POST请求的响应是否为200

来自分类Dev

请求响应是否始终为JSON?

来自分类Dev

为什么如果响应是 200 我仍然解析错误?

来自分类Dev

我们如何检查请求的响应是否来自Service Worker

来自分类Dev

我们如何检查请求的响应是否来自Service Worker

来自分类Dev

如何检查ajax响应是否为javascript内容类型?

来自分类Dev

如何检查服务器响应是否为json?

来自分类Dev

MockMVC的JsonPath响应是否为空?

来自分类Dev

我的JSON响应是否应包含请求查询参数的值?

来自分类Dev

如果该反应是特定反应,我将如何使我的机器人检测到反应,然后发送消息?

来自分类Dev

如何使用 Capybara 发送 XML 文件请求,并检查响应是否有正确的参数

来自分类Dev

XMPPFramework-如何在“ didReceiveIQ”中识别响应是否为用户的contactList?

来自分类Dev

XMPPFramework-如何在“ didReceiveIQ”中识别响应是否为用户的contactList?

来自分类Dev

如何检查来自laravel控制器的ajax响应是否为空?

来自分类Dev

返回的响应是否与Django中传递的请求相同?

来自分类Dev

检查响应是否为RSpec中的JSON

来自分类Dev

检查响应是否为JSON在PHP中的方法?

来自分类Dev

我怎么知道$ http响应是否来自缓存-Angular

来自分类Dev

Alamofire请求的响应类型为text / html

来自分类Dev

如果我们插入循环,Http运行时缓存将如何响应

来自分类Dev

rest / javax / jersey / grizzly:是否必须为POST请求返回OK(200)响应代码?

来自分类Dev

如果 smb2 客户端发出比它更多的信用的读取请求,服务器将如何响应?

来自分类Dev

为 HTTP 200 和 500 状态代码验证 Alamofire 响应

来自分类Dev

C ++如果我将参数参数从int *更改为int,这些函数的调用将如何改变

来自分类Dev

如何检索请求的Alamofire响应标头

来自分类Dev

如何使httpd响应200的选项请求?

来自分类Dev

在我的本地环境和实时服务器上,ajax请求的响应是不同的

来自分类Dev

我将如何写为目录?

来自分类Dev

我将如何写为目录?

Related 相关文章

  1. 1

    检查HTTP POST请求的响应是否为200

  2. 2

    请求响应是否始终为JSON?

  3. 3

    为什么如果响应是 200 我仍然解析错误?

  4. 4

    我们如何检查请求的响应是否来自Service Worker

  5. 5

    我们如何检查请求的响应是否来自Service Worker

  6. 6

    如何检查ajax响应是否为javascript内容类型?

  7. 7

    如何检查服务器响应是否为json?

  8. 8

    MockMVC的JsonPath响应是否为空?

  9. 9

    我的JSON响应是否应包含请求查询参数的值?

  10. 10

    如果该反应是特定反应,我将如何使我的机器人检测到反应,然后发送消息?

  11. 11

    如何使用 Capybara 发送 XML 文件请求,并检查响应是否有正确的参数

  12. 12

    XMPPFramework-如何在“ didReceiveIQ”中识别响应是否为用户的contactList?

  13. 13

    XMPPFramework-如何在“ didReceiveIQ”中识别响应是否为用户的contactList?

  14. 14

    如何检查来自laravel控制器的ajax响应是否为空?

  15. 15

    返回的响应是否与Django中传递的请求相同?

  16. 16

    检查响应是否为RSpec中的JSON

  17. 17

    检查响应是否为JSON在PHP中的方法?

  18. 18

    我怎么知道$ http响应是否来自缓存-Angular

  19. 19

    Alamofire请求的响应类型为text / html

  20. 20

    如果我们插入循环,Http运行时缓存将如何响应

  21. 21

    rest / javax / jersey / grizzly:是否必须为POST请求返回OK(200)响应代码?

  22. 22

    如果 smb2 客户端发出比它更多的信用的读取请求,服务器将如何响应?

  23. 23

    为 HTTP 200 和 500 状态代码验证 Alamofire 响应

  24. 24

    C ++如果我将参数参数从int *更改为int,这些函数的调用将如何改变

  25. 25

    如何检索请求的Alamofire响应标头

  26. 26

    如何使httpd响应200的选项请求?

  27. 27

    在我的本地环境和实时服务器上,ajax请求的响应是不同的

  28. 28

    我将如何写为目录?

  29. 29

    我将如何写为目录?

热门标签

归档