如何使用 AFNetworking 2 批量请求?

2024-02-07

因此,我正在使用 AFNetworking 2.0 重写 iOS 7 的应用程序,但遇到了一次发送一批请求并跟踪其进度的问题。在旧的 AFNetworking 中有enqueueBatchOfHTTPRequestOperations:progressBlock:completionBlock:方法上AFHTTPClient,这显然已经被重构了,我对如何将多个请求排队有点困惑。

我创建了一个子类AFHTTPSessionManager我正在使用POST:... and GET:...与服务器通信的方法。但我在代码和/或文档中找不到任何东西可以像旧的那样一次将多个请求排入队列AFHTTPClient.

我唯一能找到的是无证的batchOfRequestOperations:progressBlock:completionBlock:方法上AFURLConnectionOperation,但这看起来像是 iOS 6 的做法。

显然我在新版本中遗漏了一些东西NSURLSession我应该用它来批量请求或查看新的 AFNetworking 功能。希望有人可以帮助我走上正确的道路!

tl;dr:我怎样才能用我的设备发送一批请求AFHTTPSessionManager子类?


感谢 Sendoa 提供的链接Mattt 解释的 GitHub 问题 https://github.com/AFNetworking/AFNetworking/issues/1504为什么这个功能不再起作用了。有一个明确的原因可以解释为什么新的系统不可能做到这一点NSURLSession结构;任务不是操作,因此使用依赖项或批量操作的旧方法将不起作用。

我已经使用创建了这个解决方案dispatch_group这使得可以使用批量请求NSURLSession,这是(伪)代码:

// Create a dispatch group
dispatch_group_t group = dispatch_group_create();

for (int i = 0; i < 10; i++) {
    // Enter the group for each request we create
    dispatch_group_enter(group);

    // Fire the request
    [self GET:@"endpoint.json"
       parameters:nil
          success:^(NSURLSessionDataTask *task, id responseObject) {
                  // Leave the group as soon as the request succeeded
                  dispatch_group_leave(group);
          }
      failure:^(NSURLSessionDataTask *task, NSError *error) {
                  // Leave the group as soon as the request failed
                  dispatch_group_leave(group);
              }];
}

// Here we wait for all the requests to finish
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
    // Do whatever you need to do when all requests are finished
});

我想写一些东西,让这件事更容易做到,并与 Matt 讨论这是否可以合并到 AFNetworking 中(如果实现得很好)。在我看来,对图书馆本身做这样的事情会很棒。但我必须检查一下我什么时候有空闲时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 AFNetworking 2 批量请求? 的相关文章

  • iOS App布局错误,调用状态栏

    在主动通话和应用程序布局期间面临状态栏问题 我正在使用自动布局 当我运行应用程序 然后开始通话时 一切正常 UI 会随着状态栏的更改而正确缩放 但是 如果我首先开始通话 然后运行应用程序 应用程序屏幕会移动到底部 20pt 就像它们对新状态
  • 使用 UIImagePickerController 的应用程序在拍照后选择“使用照片”时冻结

    我现在正在开发一个简单的照片和视频捕获应用程序 该应用程序成功地允许用户按下按钮即可拍摄照片或视频 但是 一旦您完成拍摄照片或视频 它就会提供 2 个选项 重新拍摄 和 使用照片 或 使用视频 具体取决于您使用的选项 如果用户点击 重新拍摄
  • 使用隐藏的 SFSafariViewController 获取 Safari cookie

    我正在阅读以下关于从移动网页到本机 iOS 9 应用程序对用户进行身份验证的文章 并且想知道如何最好地实现类似于下面讨论的隐藏控制器的隐藏 safari 视图控制器 https library launchkit io how ios 9
  • 尝试从独立的 Apple Watch 应用发出网络请求

    当应用程序是独立应用程序时 Apple Watch 是否无法进行网络通话 即使手表已连接到 iPhone 我正在使用新的独立应用程序目标 它没有附带可以发出 WatchConnectivity 请求的配对 iOS 应用程序 我十有八九收到
  • 在 Interface Builder 中的资产目录上使用图像

    是否可以直接在界面生成器上使用添加到资产目录中的图像 这是怎么做到的 在 UIImageView 属性上 我看不到任何引用资产目录上任何图像的选项 Import the images into the xcassets folder 单击右
  • 如何将十六进制数组转换为 UIImage?

    有几个与使用 P25mi 动态打印图像相关的未解答问题 没有一个得到公认的答案 下面有几个链接 如何将图像转换为位图代码以便在 iPhone 中进行蓝牙打印 https stackoverflow com questions 1383828
  • swift 中的负数模

    负数模如何在 swift 中工作 当我执行 1 3 时 它给出 1 但余数是 2 其中有什么问题 雨燕余数运算符 计算余数 整数除法 a b a a b b where 是截断整数除法 在你的情况下 1 3 1 1 3 3 1 0 3 1
  • iPad 3 中配备 Xcode 4.2 和 Retina 的 iOS 5.1

    我有一台装有 Mac OS X Snow Leopard 的 Mac 我可以添加 iOS 5 1 吗 使用 iPad 3 的新分辨率 我们将如何处理图像 因为如果该应用程序将在 iPhone 3GS 4 和 iPad 3 中运行 我认为我们
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • 如何在 EKRecurrenceRule 中设置一周中某一天的数组?

    我想在用户选择的特定日期每周添加事件 可以是一个或多个 也可以是一整天 我将用户选择的日期值存储在模型类变量中 但是 当我添加事件并选择日期时 假设今天是星期一 我选择星期二和星期三并保存 然后我查看周一和周三添加的 iPhone 日历 我
  • Swift 中 UIImages 的淡入淡出动画

    我有一组图像 我希望它们在登录屏幕的背景中淡出 我无法在 swift 中找到任何可以做到这一点的东西 有什么办法我可以做到吗 这是我当前的代码 override func viewDidLoad super viewDidLoad star
  • Xcode 9.0.1 应用程序分发程序已更改

    最近我将 Xcode 升级到了 Xcode 9 1 之后 当我尝试发布我的应用程序时 Xcode 不允许选择我为临时创建的分发配置文件 这么说 配置文件不是 IOS 应用商店配置文件 如果 Xcode 9 1 的应用程序分发过程有变化 请告
  • Expo 应用程序“您的应用程序正在使用广告标识符 (IDFA)”

    我正在尝试将应用程序上传到应用程序商店 每次我上传二进制文件时 苹果都会坚持认为我的应用程序正在使用广告 而我从未实现过这样的事情 我查看了文档并删除了涉及的所有代码ASIdentifier and adIdentifier我不太确定我错过
  • ObjC <-> Swift 桥接和工厂方法

    我想从 Swift 使用一些 Objective C 类 由于超出了这个问题范围的原因 我的班级init方法被标记为不可用 相反 有一个工厂方法 这是我的班级的简化形式 interface MyClass NSObject instance
  • 如何在 SwiftUI 中呈现视图而不将其嵌入到当前导航流中?

    我已经完成了日志记录入门 并且需要呈现一个 HomeView 它对之前的导航流程一无所知 var body some View if viewModel isValidated destination else LoadingView 通过
  • Firebase Messaging FCM 在可配置的时间间隔内分发

    当您使用 FCM 向给定应用程序的所有设备发送推送时 这可能会导致许多用户同时打开他们的应用程序 从而导致大量服务器轮询 从而导致负载峰值 有没有一种方便的方法可以在给定的时间间隔内分发消息以进行计划推送 最后 我们找到了一种可能的方法 通
  • iOS 中的词干 - 不适用于单个单词

    我在用NSLinguisticTagger用于词干提取 我能够获得句子中单词的词干 但无法获得单个单词的词干 以下是我正在使用的代码 NSString stmnt i waited NSLinguisticTaggerOptions opt
  • 使用排序函数按 NSDates 对数组进行排序[重复]

    这个问题在这里已经有答案了 我有一个名为的模型类Event import Foundation import MapKit public class Event let id Int var title String let status
  • UITableViewController 无法识别的选择器发送到实例

    当我传递一个整数时 我有一个 tableviewcontroller 和一个detailtableviewcontroller UITableViewController setSurveyNumber 无法识别的选择器发送到实例 Biza
  • 将我的免费应用程序从 Universal 升级到仅限 iPhone

    我释放我的free app到 appStore 它的版本是 1 0 它是一个Universal app 现在我想发布 1 1 版本到 appStore 我将其升级到iPhone only appStore会拒绝我吗 我已阅读类似的问题 ht

随机推荐

  • Swift UISearchController 在核心数据项目中连接,应用程序运行,但搜索未更新

    过去几天我一直在努力在 Swift 项目中创建一个过滤器TableViewController使用核心数据 我终于发现我需要使用UISearchController 创建一个NSPredicate为了searchController sea
  • BeautifulSoup .children 或 .content 标签之间没有空格

    我希望标签的所有子标签之间没有空格 但美丽的汤 contents and children还返回标签之间的空白 from bs4 import BeautifulSoup html div span 1 span a href 2 html
  • 使用 Email::MIME 和多部分/与子部分混合来解析电子邮件

    我是一个 Perl 新手 一直在使用 Email MIME 来弄清楚如何正确解析多部分的电子邮件 我刚刚确定了我当前的努力无法正确读取的另一种组合 Content Type multipart mixed boundary 18119086
  • Android Gradle 任务 Google Appengine

    我正在尝试为我的 android 应用程序编写一个 gradle 任务 该任务启动 google appengine 开发人员服务器 运行测试 然后关闭服务器 到目前为止我尝试过的看起来像这样 task runAppEngine depen
  • ecmascript 制作中的混乱

    我最近对 ecma262 规范的制作感到困惑 有些作品是基于我的假设 也可以是其他作品 例如 陈述 陈述可以是一个Block它也可以是一个如果语句 我的困惑始于看起来像这样的算法 A 令 stmtCompletion 为评估第一个的结果陈述
  • project.build.finalName 的值是多少?

    The Maven文档 http docs codehaus org display MAVENUSER MavenPropertiesGuide谈论一个名为project build finalName 但我找不到基于其他值设置的值的定义
  • JavaScript:闭包中的自动 getter 和 setter 无需 eval?

    Note 关于 JavaScript 中的 getter 和 setter 有很多问题 请参阅Javascript Getter 和 Setter https stackoverflow com questions 11134597 jav
  • Reactive Spring 不支持 ServerHttpRequest 作为 REST 端点测试中的参数?

    这个问题非常类似于this one https stackoverflow com questions 40361298 reactive spring does not support httpservletrequest as para
  • 解决 Pouch Couch DB

    我正在开发一个离线工作的原型网站 该网站利用 Pouch DB 以便在上线时同步回服务器上的 CouchDB The Pouch DB 冲突指南 http pouchdb com guides conflicts html says 要解决
  • LogicException:Symfony\Bundle\SwiftmailerBundle\DataCollector\MessageDataCollector 中缺少默认数据

    在 Symfony 2 5 5 和 Swiftmailer 5 3 0 中出现此异常 我正在关注食谱示例 http symfony com doc current cookbook email testing html确切地 调用时抛出错误
  • 位置粘性在 IE 或 Safari 中不起作用

    我正在用 CSS 创建一张卡片 它在 Chrome 中工作得很好 但在 IE Safari 浏览器中不起作用 nb position sticky width 280px height 450px margin 0 auto overflo
  • GIT GUI 无法访问欢迎屏幕

    I am trying to work on a new repository in my GIT GUI 但是当我打开 GIT GUI 时 它会直接带我到第二页并打开一些以前的存储库 附上截图 我如何切换我的项目 如何获得 Git GUI
  • Xcode Base 国际化不起作用

    我正在尝试本地化我的应用程序 我注意到 如果我添加一种语言 每个本地化文件都会增加一倍 这样就不可能维护代码或故事板 所以我了解到我需要基地国际化 问题是 当我在 xcode 项目设置中选择该复选框时 它会显示一个没有的窗口没有什么可选择的
  • 获取深度多维数组的所有子元素

    我有这样的数组 array array id gt 1 children gt array array id gt 2 parent id gt 1 array id gt 3 parent id gt 1 children gt arra
  • 省略某些值时如何创建桑基图

    我需要创建一个桑基图R with plotly超过3年 我的group列应该是节点 1 worst 2 bad 3 good and 4 best 但是在 2019 年和 2020 年我有 需要一个额外的节点5 not available
  • 将 master 分支移动到另一个分支并启动新的 master

    我一直在使用 master 分支进行开发 并希望将其清除为只有发布提交 以及它的用途 如何将所有内容从 master 复制到开发分支然后重新启动 master 从master分支创建开发分支并删除master分支 并重新创建它 以防万一您不
  • 多个视图的单一视图控制器

    我正在尝试制作一个具有多个视图但只有一个视图控制器的注册表单 进入下一个视图后 我将输入写入一个结构 该结构稍后将发送到服务器 我面临的问题是 进入新视图时 VC 会重新初始化 因此用户结构也会重新初始化 有什么办法可以避免拥有多个 Vie
  • 使用MFC将文件路径转换为URL

    我见过类似的问题 例如用 C 对 URL 进行编码 解码 https stackoverflow com q 154536 2287576 但是 对我来说 CString strURL DWORD dwSize MAX PATH if In
  • 使用C程序的随机数数组

    我是 C 程序新手 我需要创建 100 个 50 到 70 之间的随机数 并将它们存储在 double 数组中 我该如何开始 创建一个数组 int my array 100 为随机数生成器播种 srand 0 循环遍历你的数组并填充它 in
  • 如何使用 AFNetworking 2 批量请求?

    因此 我正在使用 AFNetworking 2 0 重写 iOS 7 的应用程序 但遇到了一次发送一批请求并跟踪其进度的问题 在旧的 AFNetworking 中有enqueueBatchOfHTTPRequestOperations pr