当前位置: 首页 > news >正文

传媒网站上海工商查询网

传媒网站,上海工商查询网,wordpress 导航不可点击,企业为什么要增资Alamofire 是 iOS/macOS 开发中最常用的网络请求库之一#xff0c;基于 Swift 编写#xff0c;封装了 URLSession#xff0c;提供了链式调用、JSON 解析、文件上传/下载等高级功能。以下是 Alamofire 的具体用法和示例#xff0c;涵盖常见场景。 安装 Alamofire 通过 Cocoa…Alamofire 是 iOS/macOS 开发中最常用的网络请求库之一基于 Swift 编写封装了 URLSession提供了链式调用、JSON 解析、文件上传/下载等高级功能。以下是 Alamofire 的具体用法和示例涵盖常见场景。 安装 Alamofire 通过 CocoaPods 安装 在 Podfile 中添加 pod Alamofire, ~ 5.8然后运行 pod install。 通过 Swift Package Manager (SPM) 在 Xcode 的 File Add Packages 中输入 https://github.com/Alamofire/Alamofire.git 基本用法 (1) 发起 GET 请求 import Alamofire AF.request(https://httpbin.org/get).response { response in switch response.result {case .success(let data):print(请求成功: \(String(describing: data)))case .failure(let error):print(请求失败: \(error))} }(2) 带参数的 GET 请求 let parameters [page: 1, limit: 10]AF.request(https://httpbin.org/get, parameters: parameters).responseJSON { response in switch response.result {case .success(let json):print(JSON 数据: \(json))case .failure(let error):print(请求失败: \(error))} }(3) 发起 POST 请求 let parameters [username: test, password: 123456]AF.request(https://httpbin.org/post, method: .post, parameters: parameters).responseJSON { response in switch response.result {case .success(let json):print(POST 成功: \(json))case .failure(let error):print(POST 失败: \(error))} }(4) 使用 Encodable 发送 JSON 如果你的参数是 Encodable 对象如 struct可以这样 struct User: Encodable {let name: String let age: Int }let user User(name: John, age: 25)AF.request(https://httpbin.org/post, method: .post, parameters: user, encoder: JSONParameterEncoder.default).responseJSON { response in switch response.result {case .success(let json):print(POST 成功: \(json))case .failure(let error):print(POST 失败: \(error))} }高级用法 (1) 文件上传 let fileURL Bundle.main.url(forResource: test, withExtension: jpg)!AF.upload(fileURL, to: https://httpbin.org/post).uploadProgress { progress in print(上传进度: \(progress.fractionCompleted)) }.responseJSON { response in switch response.result {case .success(let json):print(上传成功: \(json))case .failure(let error):print(上传失败: \(error))} }(2) 文件下载 let destination: DownloadRequest.Destination { _, _ in let documentsURL FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]let fileURL documentsURL.appendingPathComponent(image.jpg)return (fileURL, [.removePreviousFile, .createIntermediateDirectories]) }AF.download(https://httpbin.org/image/jpeg, to: destination).response { response in if let filePath response.fileURL?.path {print(文件已保存到: \(filePath))} }(3) 请求头 认证 let headers: HTTPHeaders [Authorization: Bearer YOUR_TOKEN,Accept: application/json ]AF.request(https://httpbin.org/headers, headers: headers).responseJSON { response in switch response.result {case .success(let json):print(带 Header 的请求: \(json))case .failure(let error):print(请求失败: \(error))} }(4) 拦截请求RequestInterceptor 可以统一处理认证、重试等逻辑 struct AuthInterceptor: RequestInterceptor {func adapt(_ urlRequest: URLRequest, for session: Session, completion: escaping (ResultURLRequest, Error) - Void) {var request urlRequest request.setValue(Bearer YOUR_TOKEN, forHTTPHeaderField: Authorization)completion(.success(request))} }let session Session(interceptor: AuthInterceptor()) session.request(https://httpbin.org/headers).responseJSON { response in // 处理响应 }错误处理 Alamofire 提供了详细的错误信息 AF.request(https://httpbin.org/status/404).validate().response { response in if let error response.error {if let statusCode response.response?.statusCode {print(HTTP 状态码错误: \(statusCode))}print(详细错误: \(error.localizedDescription))} }结合 CombineiOS 13 Alamofire 支持 Combine可以轻松集成到响应式编程中 import Combine AF.request(https://httpbin.org/get).publishDecodable(type: ResponseModel.self).sink { completion in if case .failure(let error) completion {print(请求失败: \(error))}} receiveValue: { response in print(收到数据: \(response.value))}.store(in: cancellables)总结 功能示例GET 请求AF.request(https://example.com/get)POST 请求AF.request(https://example.com/post, method: .post, parameters: params)文件上传AF.upload(fileURL, to: https://example.com/upload)文件下载AF.download(https://example.com/file, to: destination)请求头headers: HTTPHeaders [Authorization: Bearer token]错误处理response.validate().responseJSON { ... } Alamofire 让网络请求变得更简单适用于大多数 HTTP 请求场景。建议结合 Codable 解析 JSON 数据提升代码可维护性。
http://www.hkea.cn/news/14192566/

相关文章:

  • 怎样做网站卖自己的产品教程拼多多一键铺货软件
  • 免费域名注册平台有哪些对网站有效的优化软件
  • 网站推广的意义和方法二级域名申请入口
  • 怎么做网站维护厦门app制作
  • 海南做网站的网络公司开发网站语言
  • 深圳建网站兴田德润优秀湘潭网站建设是什么
  • 怎么把自己做的网站发布出去wordpress用户密码原理
  • 简易网站开发时长平面设计培训内容
  • 关于当当网站建设方案wordpress自适应 分页
  • 做网站加班企业网站设计哪家好
  • 长春网站建设q479185700惠网站建设后期需要后期做的
  • 网站建设字体颜色代码合肥房价查询网
  • 广广东网站建设做好网站建设的重要性
  • 阿里巴巴网站域名建设wordpress排行榜小图标
  • 威海高新园区建设运营有限公司网站淳安县建设局网站
  • 网易严选的网站建设做竞价网站服务器多少钱
  • 西安网站建设和推广做电商有哪些网站有哪些内容
  • 网站开发需要多少费用wordpress可以做什么
  • 网站 建设 拖拉 源码 系统广州 网站建设网络推广网页设计
  • 红番茄 网站点评做相似网站
  • 美丽阿坝网站怎么做桂林旅游网
  • 城市建设网站的项目背景最好看免费观看高清大全电影网站
  • 深圳有哪些网站建设公司怎么做app网站
  • 建设部门网站个人网站设计介绍文字
  • 做淘宝客网站一定要备案吗怎么在网上建网站啊
  • 网站建设综合实训ppt如何在淘宝开网站建设
  • 电子商务网站建设主题环球网最新新闻
  • 帝国cms如何做电影网站手机网站相关
  • 新建网站注意事项摄影网页设计案例
  • 滕州网站建设招聘建设银行积分兑换商城网站