Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了AFNetworking和Swift – 保存json响应大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我想在 swift中发出一个GET请求来获取一些Json数据. 我尝试使用AFNetworking并且它有效,但我不知道如何返回我得到的Json. 我尝试了返回,但它是在GET之前制作的,所以我什么都没得到…… func makeGet(place:String) -> String { var str:String = "" let manager = AFHTTPRequest
我想在 swift中发出一个GET请求来获取一些Json数据. @H_419_7@我尝试使用AFNetworking并且它有效,但我不知道如何返回我得到的Json.

我尝试了返回,但它是在GET之前制作的,所以我什么都没得到……

func makeGet(place:String) -> String
{
    var str:String = ""
    let manager = AFHTTPRequestOperationManager()
    manager.requestSerializer.setValue("608c6c08443c6d933576b90966b727358d0066b4",forHTTPHeaderField: "X-Auth-Token")
    manager.GET("http://something.com/api/\(place)",parameters: nil,success: { (operation: AFHTTPRequestOperation!,responSEObject: AnyObject!) in
            str = "JSON:  \(responSEObject.description)"
            println(str) //print the good thing
        },failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in
            str = "Error: \(error.localizedDescription)"
        })
    return str //return ""
}

你能帮助我吗 ?

解决方法

您没有从该函数获得响应,因为GET操作是异步发生的.也就是说,执行顺序如下:

>你打电话给makeGet@H_419_7@> makeGet创建管理器,它会触发GET请求@H_419_7@> makeGet完成执行并返回一个空字符串@H_419_7@>(一段时间后)管理器从服务器接收一个值并执行成功或失败块.

因此,您可以访问从服务器返回的JSON的唯一一次是在步骤4中,您需要找到一种存储该值的方法,以便您可以解析它或使用它或其他任何东西.这里有多种选择 – 一种是定义在类实例调用事件处理程序的闭包,如下所示:

class MyClass {

    func jsonLoaded(json: String) {
        println("JSON: \(json)")
    }

    func jsonFailed(error: NSError) {
        println("Error: \(error.localizedDescription)")
    }

    func makeGet(place:String) {        
        let manager = AFHTTPRequestOperationManager()
        manager.requestSerializer.setValue("608c6c08443c6d933576b90966b727358d0066b4",forHTTPHeaderField: "X-Auth-Token")
        manager.GET("http://something.com/api/\(place)",responSEObject: AnyObject!) in
                self.jsonLoaded(responSEObject.description)
            },error: NSError!) in
                self.jsonFailed(error)
            }
        )
    }

}

大佬总结

以上是大佬教程为你收集整理的AFNetworking和Swift – 保存json响应全部内容,希望文章能够帮你解决AFNetworking和Swift – 保存json响应所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: