NetworkSession 1.1.2

NetworkSession 1.1.2

Daniel Sousa 维护。



  • 作者:

Carthage compatible Swift 5.0 compatible Swift 5.0 compatible

NetworkSession

这是用 Swift 编写的网络抽象层

安装

Carthage

要安装它,只需将以下行添加到您的 .cartfile 中:

github "danielrsousa/NetworkSession" ~> 1.1.2

如何使用

步骤 1 创建您的请求对象

struct MyRequest: NetworkRequestProtocol {
    var baseURL = "https://blockchain.info"
    var path: String = "/ticker"
    var method: HTTPMethod  = .get
    var headers: [String : String]?
    var parameters: [String : Any]
}

步骤 2 使用 Decodable 协议创建您的模型

struct CurrencyModel: Decodable {
    let USD: CoinModel
    let BRL: CoinModel
    
    struct CoinModel: Decodable {
        let last: Float
        let buy: Float
        let sell: Float
        let symbol: String
    }
}

现在您需要创建一个 NetworkSession 实例并调用方法 .request,不要忘记 import NetworkSession

import Foundation
import NetworkSession

class MyClass {
    let networkSession: NetworkProtocol = NetworkSession.shared
    func fetch() {
        let request = MyRequest(parameters: [:])

        networkSession.request(request: request, result: {(result: Result<CurrencyModel?, NetworkError>) in
            switch result {
            case .success(let response):
                guard let model = response else { return }
                print(model.BRL.symbol)
            case .failure(let error):
                print(error.localizedDescription)
            }
        })
    }
}

📝许可协议

NetworkSession 使用 MIT 许可协议发布。