首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Swift2网络操作和异常处理

    之前在项目中我也一直使用Alamofire,但是升级到Xcode7之后旧版的Alamofire不能用了,最新版的又只支持iOS8之后的系统,而公司项目还得兼容iOS7,所以接下来不打算用它了。...url) request.HTTPMethod = method.rawValue switch method { case .POST: //如果参数为nil...(url, method: HTTPMethod.GET, parameter: nil) { data in let json = JSON(data: data)...如果跟我有同样需求的同学可以把HttpManager.swiftclone下来直接拖到项目里,建议配合SwiftyJSON(一个很好用的第三方JSON解析库)使用,直接把Source文件夹里的SwiftyJSON.swift...对象树中作为叶子节点的字符串转化成可变字符串; 允许解析最外层对象不是NSArray或NSDictionary实例的JSON数据 三种我都试了,都不行,最后我试了下[],也就是传入一个空值,居然行了。

    1.9K10

    iOS开发之Alamofire源码解析

    今天博客中的Alamofire源码的版本是以3.4版本为例。上篇博客系统的对NSURLSession相关的东西进行了详细的解析,详情请看《详解NSURLSession》,为了就是给本篇博客打下基础。...其中封装了各种对响应数据的解析方式,其中包括Data、String、JSON、PropertyList等解析方式。...headers字典参数就是请求头信息了,默认为nil。...而相应的代理方法中就是对回调进行了处理,不过在处理之前会判断相应的Closure是否为nil, 如果不为nil的话就执行Closure闭包块中的内容。如果为nil,就执行提供的默认处理。 ?...特别是在解析网络请求的数据时,将闭包类型作为函数的参数,然后通过闭包变量来提供相应的解析方案,在此就不做过多的赘述了,其他技术细节“仁者见仁,智者见智”。

    3.1K70

    moya + RxSwift 进行网络请求

    1.关于moya 如在OC中使用AFNetworking一般,Swift我们用Alamofire来做网络库.而Moya在Alamofire的基础上又封装了一层: 官方说moya有以下特性(我也就信了...()也是Moya RxSwift的扩展方法,可以把返回的数据解析成 JSON 格式 subscribe 是一个RxSwift的方法,对经过一层一层处理的 Observable 订阅一个 onNext..., onDisposed: nil).addDisposableTo(dispose) } } 这里解释一下: 我这里是将请求的数据通过闭包传了出去,当然也可以不那么做.个人喜好问题.....这里是为 RxSwift 中的 ObservableType和 Response写一个简单的扩展方法 mapModel,利用我们写好的Model 类,一步就把JSON数据映射成 model。...} } 5.配合ObjectMapper 毕竟将json数据转换成model的库那么多 ….

    2K20

    用 Swift 编写网络层单元测试

    我推荐他去看《单元测试的艺术》(这本书让我对单元测试有了新的认识),但由于该书是以 C# 为例写的,可能会对 iOS 开发的朋友造成一定的阅读障碍,所以我还是决定填一下坑,简单介绍一下用 Swift 进行网络层单元测试的方法...其实 Alamofire 就有采用我上面说的方法进行测试,所以如果你的网络层像我一样是以 Alamofire 为基础构建的,那就表示你不太需要再去写这样的测试了,你只要保证跟 Alamofire 无关的那些代码本身逻辑正确...nil } return Alamofire.request(method, url, parameters: parameters).responseJSON {...依旧以我的 NetworkManager 为例,稍加改造,方便在测试时注入伪函数和伪对象: typealias NetworkCompletionHandler = Resultnil } return request(method, url, parameters, .URL, nil).responseJSON(queue: nil, options

    2.1K20

    HTTP 请求轻松搞定:Swift 网络编程的不二之选 | 开源日报 No.38

    支持链式请求/响应方法,使得处理网络请求变得如丝般顺滑。 完美兼容 Swift 并发,支持 iOS 13、macOS 10.15、tvOS 13 和 watchOS 6 及以上版本。...支持从文件读取 JSON 和创建 json 对象。 将 JSON 作为一流数据类型处理,并支持序列化/反序列化操作。 类似 STL 容器的访问方式,可以通过下标或迭代器对 JSON 进行访问和修改。...支持将 STL 容器转换为 JSON 对象以及将任意类型转换为与之相应的 JSON 值。 该项目还具有以下核心优势: 设计目标清晰明确:注重直观性、易用性和集成便捷性。...可以在任何地方进行零停机时间部署 Kamal 使用动态反向代理 Traefik 来保持请求,在启动新的应用容器并停止旧容器时保证服务正常 通过 SSHKit 执行命令,并支持多主机环境下运行 最初为 Rails.../Alamofire [2] nlohmann/json: https://github.com/nlohmann/json [3] fmtlib/fmt: https://github.com/fmtlib

    42020

    AlamoFire 的使用 (下载队列,断点续传)

    `nil` by default. /// - parameter encoding: The parameter encoding....(configuration: config) return manager }() # 断点续传 Alamofire 支持断点续传下载,原理就是将下载一半的数据保存到本地,然后下次再启动时候通过...其实就是两个步骤, 断点和续传 # 第一步 断点 监听下载中断,中断后将已经下载的数据进行保留,我这边用一个属性来存,具体到项目实现大家可以采用自己存储方式,存到硬盘或者数据库之类的 Alamofire.download...in return (URL(fileURLWithPath: String(describing : NSSearchPathForDirectoriesInDomains(....然后我们需要对我们的 queue 进行设置,我们设置最大并发数,大家可以根据实际情况来设置,demo 中我只有两个下载任务,所以我就设置最大并发数为 1 这样就是一个一个下载。

    2.6K40
    领券