首先用桥接或pods将AFNetworking导入项目,在这不再赘述,然后创建一个单例NetWorkTools.swift

继承:AFHTTPSessionManager

import AFNetworking

//单例
static let tools: NetworkTools = {

    let baseUrl = NSURL(string: "https://xxx.xxx.xxx/")
    let tools = NetworkTools(baseURL: baseUrl)

    //设置AFN能够接收的数据类型
    tools.responseSerializer.acceptableContentTypes =     NSSet(objects:"application/json","text/json","text/javascript","text/plain") as? Set<String>
    return tools
}()

//提供类方法获取单例
class func shareNetworkTools() -> NetworkTools {
    return tools
}

请求数据

class func loadData(finished: (models:[User]?,error: NSError?) -> ()) {

    let path = "baseUrl要拼接的路径"
    let params = ["userId": userId]

    NetworkTools.shareNetworkTools().GET(path,parameters: params,progress: { (_) -> Void in

    },success: { (_,JSON) -> Void in

        //打印请求数据
        print(JSON)
        //在这里将字典转模型

        //通过闭包将请求下来的数据传递给调用者
        finished(models: models,error: nil)

    }) { (_,error) -> Void in
        print(error)
        //通过闭包吧错误信息传递给调用者
        finished(models: nil,error: error)
    }
}

调用的地方

Request.loadData { (models,error) -> () in
    if error != nil {
        return
    }
    //打印数据模型
    printf(models)
}

使用AFNetworking在Swift中请求数据的更多相关文章

  1. ios – 在AFNetworking中设置用户代理

    我们的iOS应用程序最近被Apple拒绝,因为它无法与我们的服务器api建立有效连接.我们使用特殊格式的用户代理来注册设备令牌等.如果用户代理不适合我们的sheme,则api会阻止请求.这一切都很好地在模拟器和真实设备上测试应用程序.用户代理设置正确,api调用工作正常.当Apple测试应用程序时,他们拒绝了它,因为应用程序无法连接到api.当我们检查服务器日志文件时,我们注意到,Apple测试人

  2. ios – 使用AFNetworking 2.0加载图像

    我正在尝试使用AFNetworking2.0将照片添加到POST.此ios应用程序将一张照片发送到博客.我无法弄清楚图像无法加载的原因.这是我到目前为止所得到的:}谢谢你们解决方法我用这种方式使用AFNetworking:.我的客户端是先前创建的,但它是这样创建的.我希望这会有所帮助.

  3. ios – 差异 – CFNetwork / NSURLConnection

    我一直在寻找两者之间的差异,但我找不到任何东西.有什么区别吗?我问它是因为当我需要时,我只使用NSURLConnection,我看到很多人建议使用AFNetworking.问候!

  4. 通过AFNetworking 2.0上传iOS图像

    我一直在寻找新的AFNetworking2.0上传图像的例子.但是我正在撞墙,无法弄清楚代码有什么问题.所以这是我使用的代码TIA解决方法我最终使用了多部分请求

  5. ios – AFNetworking 2.0在故障块中从代码400获取JSON

    我正在使用AFHTTPRequestOperationManager来发送POST请求.现在我故意输入不正确的信息来处理400错误代码.现在,Web服务实际上返回一个JSON,其中包含一条消息,向用户解释他们做错了什么.我非常想让这个JSON在UIAlertView中显示消息.但是,失败块:不传递响应对象,如成功块中的响应对象.那么有谁知道如何访问Web服务返回的带有400错误的JSON?NSEr

  6. ios7 – AFNetworking可达性返回FALSE值?

    我有互联网连接,可以浏览器浏览.这是我用AFNetworking检查可达性的代码.并在ViewDidLoad中它只显示NO,我不知道为什么会这样?是否有最简单的方法来检查AFNetworking的可达性?解决方法我猜startMonitoring没有调用,尝试执行以下操作:

  7. ios – 使用AFNetworking未共享扩展的成功/失败回调

    我有一个共享扩展中的AFNetworking的问题.在didSelectPost中,我打电话:[AuthClientsharedClient]使用单例模式获取具有背景标识符的NSURLSessionConfiguration的AFHTTPSessionManager实例.但是,无论是成功还是失败的回调都被调用,它将无限期挂起,直到扩展被杀死.有趣的是,HTTP请求在服务器端完成;完成从未被调用.解

  8. ios – AFNetworking启用GZIP

    我在AFNetworking网站上查看支持GZIP压缩“服务器响应的Gzip解压缩已经内置在AFNetworking中,因为NSURLConnection将使用content-encoding:gzipHTTP头自动解压缩响应.”–AFNetworking常见问题如何启用GZIP压缩,以便我可以从服务器压缩数据或已经默认为谢谢!

  9. ios – 允许使用AFNetworking的无效证书

    我一直在使用以下代码现在我将AFNetworking更改为2.0的最新版本.使用AFHTTPRequestOperation,operation.allowsInvalidSSLCertificate不再工作.根据我使用的文件我的请求代码是但是,这对于需要证书的HTTPS不起作用.我该怎么办才能使这项工作?解决方法我在[操作开始之前]添加以下代码解决了这个问题;这是因为AFHTTPRequestO

  10. ios – 断言失败附加到多部分形式

    我将我的应用程序从ASIHTTPRequest迁移到AFNetworking以与后端API进行通信.一切似乎都可以正常工作,除了图像上传.我在互联网上使用了不同的例子,但是在我的应用程序上运行它总是会导致崩溃.问题似乎在这里:MyServiceapiclient是一个单一类,在AFNetworkingiOS示例应用程序中给出.如果我评论appendPartWithFileData部分一切运行正常,

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部