美文网首页
[Swift]集成Alamofire

[Swift]集成Alamofire

作者: 流火绯瞳 | 来源:发表于2017-02-07 09:55 被阅读205次

    swift的学习中, 网络请求是一个绕不过去的坎. 众所周知, 在OC的开发中, 我们使用最多的就是AFNetworking, 而在Swift中, 其作者开源了另一个库:** Alamofire**.
    但是这个库, 在集成的时候, 却多少遇到了些麻烦.总的在集成的时候, 有以下这些方法:

    一. cocoapods集成

    使用cocoapods集成是最方便的, 在你的Podfile文件添加以下代码:

    pod 'Alamofire'
    

    然后, 运行"pod install"即可!
    在需要使用Alamofire的地方, 引入其头文件, 即可正常使用!

    二. 手动集成

    在手动集成的过程中就遇到了一些坑:
    将下载下来的Alamofire-master内的所有文件, 都放在你的项目根目录下,其中的Example文件夹可以不拖进去, 也不会有问题.
    然后, 在文件列表右键选择Add files to ..., 找到** Alamofire.xcodeproj** (蓝色那个):

    Add之后, 就是这个样子:

    最后, 来到你的项目(这里就是LZNetwork)的中的General, 找到** Embedded Binaries**:

    然后, 就可以在需要使用Alamofire的地方引入其头文件, 正常使用了.

    其他

    你可能会觉得, 整个文件夹拖进去, 很多不必要的文件都放进去了, 感觉不太好, 你只想把Alamofire相关的一些文件放进去, 其实这里Alamofire相关的文件, 只有Alamofire-master内的Source文件夹, 把他拖进你的项目, 你会发现,怎么都不能引用到这个头文件, 及其相关的类.
    查了一些资料, 有个说, 这样添加的文件在使用的时候不需要引入Alamofire头文件, 在调用相关的方法的时候, 也不用使用****Alamofire**类去调用,
    例如:
    在使用时, 官方给的示例是这样的:

    Alamofire.request("https://httpbin.org/get").responseJSON { response in
        print(response.request)  // original URL request
        print(response.response) // HTTP URL response
        print(response.data)     // server data
        print(response.result)   // result of response serialization
    
        if let JSON = response.result.value {
            print("JSON: \(JSON)")
        }
    }
    

    而如果仅仅将Source文件夹拖到你的项目, 你直接可以这样使用:

    request("https://httpbin.org/get").responseJSON { response in
        print(response.request)  // original URL request
        print(response.response) // HTTP URL response
        print(response.data)     // server data
        print(response.result)   // result of response serialization
    
        if let JSON = response.result.value {
            print("JSON: \(JSON)")
        }
    }
    

    其他的都一样, 只是没有使用Alamofire类去调用相关方法. 我测试 了一下, 也能正常发送请求.

    最后, 还是建议直接使用cocoapods来集成Alamofire.

    (完)

    相关文章

      网友评论

          本文标题:[Swift]集成Alamofire

          本文链接:https://www.haomeiwen.com/subject/bvwkbttx.html