Swift 的 AFNetwork [关闭]
Posted
技术标签:
【中文标题】Swift 的 AFNetwork [关闭]【英文标题】:AFNetwork For Swift [closed] 【发布时间】:2015-10-05 07:09:05 【问题描述】:我正在从 Objective-C 切换到 Swift。在 Objective-C 中,我使用了AFNetworking for Client-Server communication (NSURLConnection)
。我google了一下,参考了一些博客进行网络交流,找到以下链接供参考。
-
https://github.com/AFNetworking/AFNetworking
https://github.com/Alamofire/Alamofire
我从 GitHub 链接下载了 zip 文件。但是,两者都是用 Objective-C 编写的。谁能帮我在 Swift 中使用 AFNetworking? 寻求您的帮助。谢谢。
【问题讨论】:
如果您使用 CocoaPods 进行依赖管理,那么只需在 Swift 源代码中添加pod 'Alamofire'
到 Podfile
、import Alamofire
并使用它。
@AshishKakkad 您可以完美地使用 AFNetwork 并快速引入标题。但是 Alamofire 速度很快,因此是首选。
【参考方案1】:
您必须将 AFNetworking 添加到您的 swift 项目中
在构建设置中 -> 定义模块设置为是
在 Build Settings -> Swift 编译器 -> Objective-C 桥接文件中设置桥接文件‘bridge.h’的名称
例如在 bridge.h 中写入:
#import "AFNetworking.h"
请参阅本教程以创建 bridging-Header
有关如何使用AFNetWork
的其他HTTP 方法,请参阅此tutorial
【讨论】:
是基于开发者的偏好,我们如何强制开发者使用,我们可以建议纠正我的朋友 是的,你是对的 :)【参考方案2】:AFNetworking 是用 Objective-C 编写的,但您可以在 Swift 项目中使用它。我唯一需要注意的是,它有两个提供类似功能的并行实现,AFHTTPRequestOperationManager
基于NSURLConnection
和AFHTTPSessionManager
,基于NSURLSession
。问题是 NSURLConnection
现在已弃用,因此如果您使用 AFNetworking,请使用 AFHTTPSessionManager
。
说了这么多,对于 Swift 项目,你真的应该继续使用 Alamofire,它是由同一作者编写的,但是是用 Swift 编写的,而不是 Objective-C。
【讨论】:
以上是关于Swift 的 AFNetwork [关闭]的主要内容,如果未能解决你的问题,请参考以下文章