【问题标题】:Swift and AFNetworking integration [closed]Swift 和 AFNetworking 集成 [关闭]
【发布时间】:2014-07-30 00:00:58
【问题描述】:

现在 swift 是开发 iOS 应用程序的新语言。

我们如何与 AFNetworking 或 使用 NSURLSession 会是更好的选择???

请帮帮我..

【问题讨论】:

  • AFNetworking for Swift 现在更名为 AlamoFire:github.com/Alamofire/Alamofire
  • ^ AlamoFire 仍然缺少 AFN 用户期望的一些功能,例如 setImageWithURL:

标签: objective-c afnetworking swift afnetworking-2 ios8


【解决方案1】:

您必须将 AFNetworking 添加到您的 swift 项目中

在构建设置中 -> 定义模块设置为是

在构建设置 -> Swift 编译器 -> Objective-C 桥接文件中设置桥接文件的名称 'ProjectName-Bridging-Header.h' 例如

在 ProjectName-Bridging-Header.h 中写入:

#import "AFNetworking.h"

【讨论】:

  • 对于那些在设置中搜索的人 - 关键是“定义模块”(在包装下)
  • 一个技巧:如果您已经添加了 ObjC 文件并接受它来创建桥接文件,但删除它并再次尝试这样做,XCode 不会再询问您是否要创建它。重新启动 XCode,瞧。
  • 在“Objective-C 桥接文件”中,设置名称为:“ProjectName/bridge.h”
  • 我有一个带有 Parse SDK 桥头的 Swift 项目。现在我添加了 AFNetworking 并将 AFNetworking.h 添加到观鸟标头中。重启Xcode,但找不到AFHTTPClient、AFJSONRequestOperations等。
  • 这可能是一个无知的问题,但我应该如何添加AFNetworking。它没有具有自己构建设置的独立项目,只有松散的 Objective-C 文件。我该怎么办?
【解决方案2】:

任何可作为模块访问的 Objective-C 框架(或 C 库) 可以直接导入 Swift。这包括所有 Objective-C 系统框架——例如 Foundation、UIKit 和 SpriteKit——以及系统提供的常用 C 库。为了 例如,要导入 Foundation,只需将此导入语句添加到 您正在处理的 Swift 文件的顶部:

您只需将它们导入您的项目并创建桥接头即可。你可以找到详细解释How to call Objective-C code from Swift

【讨论】:

    猜你喜欢
    • 2014-07-26
    • 2018-09-22
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    相关资源
    最近更新 更多