NSURLConnection、NSURLSession 和 AFNetworking 之间有什么区别? [关闭]

2024-02-18

我想知道它们之间的基本区别是什么,以及在 Objective-c 和 swift 中管理 iOS 端 Web 服务的最佳和常见方法是什么。

正如之前我在 Objective-c 中工作的那样,当我们需要使用 Web 服务时,我们使用 AFNetworking 和 NSURLConnections,随着 NSURLSession 的启动,我很快就开始使用这个服务。 那么哪一个适合,这样我就可以管理所有网络服务网络连接条件等?


之间的区别NSURLConnection, NSURLSession

整个模型是不同的。NSURLSession是围绕 假设您有很多需要类似的请求 配置(标准的标头集等),使生活变得更加美好 如果你这样做的话会更容易。

NSURLSession还提供后台下载支持, 使您的应用程序可以继续下载资源 未运行(或者当它在 iOS 上处于后台时)。对于某些用途 情况下,这也是一次重大胜利。

NSURLSession还提供一组相关的请求,使其 轻松取消与特定工作相关的所有请求 单元,例如取消与加载网页相关的所有加载 当用户关闭窗口或选项卡时。

NSURLSession还提供更好的接口来请求数据 使用块,因为它允许您将它们与委托结合起来 进行自定义身份验证处理、重定向处理的方法, 等等,而与NSURLConnection如果你突然意识到你 需要做这些事情,你必须重构你的代码以不使用 基于块的回调。

之间的区别NSURLConnection, NSURLSession和 AF 网络?

NSURLConnection and NSURLRequest是提供的 Cocoa 类 用于管理连接。在 iOS 7 中,Apple 添加了 NSURLSession。

但我想你会发现AF网络 https://github.com/AFNetworking/AFNetworking成为一个框架 进一步简化了网络请求(特别是复杂的 HTTP 请求)。 如果您出于任何原因不想使用第三方框架,您可以 可以使用NSURLConnection and/or NSURLSession直接地。它只是 需要更多的编码。

有关信息NSURLConnection and NSURLSession看到网址 加载系统编程指南。 https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html

查找自参考文献1 https://stackoverflow.com/questions/15718998/asihttprequest-vs-afnetworking-vs-nsurlrequest and 参考文献2 https://stackoverflow.com/questions/28105504/what-is-the-biggest-difference-between-nsurlconnection-and-nsurlsession

Thank rob https://stackoverflow.com/users/1271826/rob and dgatwood https://stackoverflow.com/users/1564391/dgatwood对于如此令人惊奇的答案...

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

NSURLConnection、NSURLSession 和 AFNetworking 之间有什么区别? [关闭] 的相关文章

  • 如何使用自动布局在自定义 UITableViewCell 内动态设置 UITextView 高度

    I have UITableView every tableViewCell is custom Inside my customTableViewCell is a UITextView TextViews frame is pin or
  • IOS 8 CLLocationManager 问题(授权不起作用)

    import MyLocationViewController h define NSLog FORMAT printf s n NSString stringWithFormat FORMAT VA ARGS UTF8String int
  • iOS 视频压缩 Swift iOS 8 损坏的视频文件

    我正在尝试压缩用户相机从 UIImagePickerController 拍摄的视频 不是现有视频 而是动态视频 以上传到我的服务器 并花费少量时间来完成此操作 因此较小的尺寸是理想的选择 而不是 30 较新质量的相机为 45 mb 这是在
  • ios Facebook 添加 FBNativeAdView 作为子视图

    我想使用预建视图FBNativeAdView 不想自定义 FBNative 广告 如link https developers facebook com docs reference ios current class FBNativeAd
  • 使用 Metal 高效计算 UIImage/CIImage 中有多少透明像素

    我们可以计算有多少个透明像素的最快方法是什么CIImage UIImage 例如 如果我们谈论效率 我的第一个想法是使用Metal Kernel使用任一CIColorKernel左右 但我不明白如何使用它来输出 计数 我还有其他想法 使用某
  • 从 AVAudioRecorder 获取分贝

    我正在尝试从 AVAudio 录音机获取分贝值 这是我目前的代码 我有一个启动录音机的方法 然后是一个读取分贝值的方法 var recorder AVAudioRecorder 全局定义的记录器 然后在此处使用 func init reco
  • 在 iOS 8 中创建通话/双高状态栏?

    是否有调用自定义通话 双高状态栏的标准方法 如果没有 那么构建我自己的功能的最佳起点是哪里 我知道关于如何做到这一点存在一些多年的问题 但没有任何令人满意的答案 有什么新方法可以做到这一点吗 可能在 iOS 8 中 这里没有什么新鲜事 但我
  • 如何使用存储在 Cocoa Touch 框架中的 Localized.strings?

    我想为 CocoaTouch 框架添加多语言支持 问题 可本地化的字符串我创建的文件仅被使用NSLocalizedString当它是主应用程序及其目标的一部分时 我想将其存储在框架内以将事物分开 我怎样才能使用可本地化的字符串当放置在 Co
  • Cordova iOS 启动画面

    我无法让闪屏停留在页面加载之前 我已经阅读了谷歌搜索第一页 第二页和第三页中的所有条目 我阅读了 stackoverflow 上发布的所有问题 包括一个很好的解释 https stackoverflow com questions 1800
  • React Native ios运行问题

    我是反应本机和运行新手yarn ios我的 React Native 项目不断失败并出现以下错误 构建失败 以下构建命令失败 编译C Users gift Library Developer Xcode DerivedData gainer
  • Apple 针对 http 直播流媒体应用程序的政策

    这里有要求 http developer apple com library ios documentation NetworkingInternet Conceptual StreamingMediaGuide UsingHTTPLive
  • Cordova - 启动后出现白屏,控制台中没有例外

    我已经离开我的 Cordova 应用程序一段时间了 但昨天刚刚进行了一次新的克隆 发现它出现了 死机白屏 症状 启动画面显示 程序加载 然后我就得到一个空白屏幕 更多细节 CLI 科尔多瓦 6 1 1 安卓 5 1 1 ios 4 1 1
  • 从 plist 文件中解码数据

    我丢失了在 Macbook Air 上用 Textwrangler 编写的文本文件中的一些数据 我在扩展名为 plist 的文件中找到了其中一些 文件是用 xml 编写的 如下所示
  • 如何检测 iOS 8 上的包含应用程序是否启用了应用程序扩展?

    我正在 iOS 8 beta 上开发一个自定义键盘 我想告诉用户如果我的自定义键盘未启用 如何在包含应用程序中启用它 有什么方法可以检测应用程序扩展是否已启用 首先让我们设置一些常量 以便于彼此理解 包含应用程序 安装扩展并保存扩展二进制文
  • 以编程方式检测应用程序是否正在设备或模拟器上运行

    我想知道我的应用程序在运行时是在设备还是模拟器上运行 有没有办法检测到这一点 原因是用模拟器测试蓝牙 api http volcore limbicsoft com 2009 09 iphone os 31 gamekit pt 1 woo
  • Swift - 将图像插入 PDF 不再适用于 iOS 13

    目前正在开发在我的贷款计算器应用程序上导出 PDF 的功能 我有一个预览屏幕 可以在您保存 PDF 之前显示它 预览屏幕由带有 html 的 webView 组成 其中包含占位符 我能够成功地将图像插入到正确的占位符上 并将其显示在 PDF
  • CIAdditionCompositing 给出不正确的效果

    我正在尝试通过平均其他几个图像来创建图像 为了实现这一点 我首先将每个图像变暗 其系数等于我平均的图像数量 func darkenImage by multiplier CGFloat gt CIImage let divImage CII
  • 使用 NSFileHandle 覆盖数据

    使用 NSFileHandle 使用 truncateFileAtOffset 从文件末尾删除 n 个字符非常容易 void removeCharacters int numberOfCharacters fromEndOfFile NSF
  • 如何在运行仅 iPhone 应用程序(非通用)的 iPad 上的 UIPickerView 中支持 VoiceOver?

    一般来说 我会查看 Apple 的 UICatalog 示例代码以获取基本的 VoiceOver 支持 但示例代码中似乎有对 UIPickerViews 的 VoiceOver 支持 我是否需要在某处提供accessibilityLabel
  • 在iOS中设置框架的原点

    我正在尝试以编程方式设置框架的原点 Method1 button frame origin y 100 方法二 CGRect frame button frame frame origin y 100 我尝试了方法 1 但它不起作用 显示错

随机推荐

  • 无法加载资源:net::ERR_BLOCKED_BY_RESPONSE [重复]

    这个问题在这里已经有答案了 我正在寻找 iframe 这个问题的一些解决方案 domain com 1 Refused to display domain com q node add editor in a frame because i
  • XML 属性可以有空格吗?

    我正在创建一个DTD http www xmlfiles com dtd 对于 xml 文档 我有一个枚举属性 http www xmlfiles com dtd dtd attributes asp对于 xml 元素 我的问题是 属性可以
  • Java:带状态的 ASCII 随机行文件访问

    是否有比创建满足以下条件的流文件读取器类更好的 预先存在的可选 Java 1 6 解决方案 给定一个任意大大小的 ASCII 文件 其中每行都以 n 对于某个方法的每次调用readLine 从文件中读取随机行 并且在文件句柄的生命周期内不会
  • JQuery 最佳实践,在 IIFE 中使用 $(document).ready?

    我正在看一段代码 function other code here document ready function other code here jQuery 我虽然 IIFE 执行 document ready 的功能 但这段代码正确吗
  • SQL Server - 条件语句的查询执行计划

    条件语句 例如如果别的 影响 SQL Server 2005 及更高版本 中的查询执行计划 条件语句是否会导致执行计划不佳 在考虑性能时是否需要警惕任何形式的条件 编辑添加 我特别指的是缓存的查询执行计划 例如 在下面的实例中缓存查询执行计
  • stringByAddingPercentEscapesUsingEncoding 转义的字符是什么?

    我不得不从 stringByAddingPercentEscapesUsingEncoding 切换到 CFURLCreateStringByAddingPercentEscapes 因为它不会转义问号 我很好奇它到底转义了什么 以及部分转
  • tee 和 script 本质上是等价的吗?

    在我想要捕捉的上下文中stdout文件中进程的一个 但仍希望在终端中显示此输出 我可以选择script and tee 在这种情况下 这些工具本质上是等效的 还是有一个 可能是微妙的 理由来选择其中一个而不是另一个 节目script and
  • 如何使用 MsBuild 创建可移植数据库?

    我想在我的解决方案中存储一个包含数据库创建脚本的项目 构建此项目时 它必须生成一个数据库文件 然后该数据库文件将在运行时供该解决方案的该项目和其他项目使用 怎么做 我知道我可以添加预构建任务 但我想知道 哪个命令行可以帮助我 也许 sqli
  • 使用 COM Interop 的 VB6 应用程序在 IDE 中工作正常,但编译后的 EXE 崩溃

    我目前正在开发一个 VB6 中的应用程序 该应用程序使用使用 NET 2 0 框架用 C 编写的 COM 互操作库 我使用 regasm exe 使用 codebase 开关从 NET dll 注册 tlb 文件 然后 我能够在 VB6 I
  • 如何在 Python 中为类型起别名?

    在某些 主要是函数式 语言中 您可以执行以下操作 type row list datum or type row datum 这样我们就可以构建这样的东西 type row datum type table row type databas
  • 为什么 Servlet 不是线程安全的? [复制]

    这个问题在这里已经有答案了 我需要知道为什么 servlet 不是线程安全的 Struts 2 0 框架控制器 servlet 是线程安全的原因是什么 我需要知道为什么 servlet 不是线程安全的 由于 Java 编程语言的多线程特性
  • 使用 adb 从损坏的 Android 设备中回收传感器

    我刚刚把我的s3弄坏了 三年前 它是最好的智能手机之一 Question如何通过 USB 获取手机惯性传感器的值 我想使用设备的加速度计 陀螺仪 磁力计 气压计和 GPS 传感器 假设我们想要得到 沿三个轴的原始加速度数据 我连接了 USB
  • Glassfish 5.0 java.lang.NoSuchMethodError

    当我尝试连接谷歌自定义搜索 api glassfish 时抛出 nosuchmethoderror 这就是代码 private int conn String search throws Exception String key mykey
  • HOG:对比度归一化步骤做了什么?

    根据HOG流程 如论文中所述用于人体检测的定向梯度直方图 参见下面的链接 对比归一化步骤是在分箱和加权投票之后完成的 我不明白 如果我已经计算了细胞的加权梯度 那么图像对比度的归一化现在对我有什么帮助 据我了解 对比度归一化是在原始图像上完
  • ggplot (geom_segment) 中的颜色

    使用facet grid时 如何根据数据中的因素对geom segments进行着色 我的方法失败了 因为颜色分配错误 这是一些数据 visual data data frame Values 10 1 Words c yeah what
  • 当我将 URL 添加到列表,然后使用 ajax 时,我尝试在某些 iframe 中显示列表的内容,页面会自行重新加载

    我正在构建一个仪表板 它的小工具是一些指向我想要在 iframe 内显示的不同页面的链接 我有一个按钮可以将新小工具添加到仪表板 添加新小工具后 我刷新仪表板 对于前 3 个小工具 应用程序没有任何问题 并且运行完美 但是 当我想添加第四个
  • 使用 bq 命令行实用程序运行保存的查询

    我有一个 BQ 脚本存储为 已保存的查询 我想知道是否可以使用 bq 命令行实用程序执行它 在文档中找不到相关内容 保存的查询 只能通过控制台访问 不能通过 API 访问 一种可能更适合您的方法是使用脚本和存储过程 https cloud
  • Git 中的致命错误:合并文件的多个阶段条目

    我正在从事我公司的一个生产项目 之前我创建了一个藏匿处并进行了一些更改 然后 当我尝试应用我的藏品时 它产生了冲突 我尝试通过单击每个文件中的 撤消 来重置 Visula Studio 中的所有更改 然后 当我尝试从 git bash 显示
  • 使用 @RequestBody List 的 Spring MVC REST 在语法上返回 HTTP 400

    我正在使用 Spring 4 Jackson 2 并在自定义类上使用 RequestBody 编写了一个功能齐全的 POST 方法 此方法在解组对象时没有任何问题 ResponseBody RequestMapping value stor
  • NSURLConnection、NSURLSession 和 AFNetworking 之间有什么区别? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想知道它们之间的基本区别是什么 以及在 Objective c 和 swift 中管理 iOS 端 Web 服务的最佳和常见方法是什么 正