相关疑难解决方法(0)

正确使用Alamofire的URLRequestConvertible

我已经阅读了@mattt的几篇教程,README,但无法弄清楚几件事.

  1. URLRequestConvertible现实世界API 的正确用法是什么?看起来我是否会通过URLRequestConvertible为所有API 实现协议来创建一个路由器- 它几乎不可读.我应该每个端点创建一个路由器吗?

  2. 第二个问题很可能是由于缺乏使用Swift语言的经验造成的.我无法弄清楚为什么enum用于构建路由器?为什么我们不使用静态方法的类?这是一个例子(来自Alamofire的README)

    enum Router: URLRequestConvertible {
        static let baseURLString = "http://example.com"
        static let perPage = 50
    
        case Search(query: String, page: Int)
    
        // MARK: URLRequestConvertible
    
        var URLRequest: NSURLRequest {
            let (path: String, parameters: [String: AnyObject]?) = {
                switch self {
                case .Search(let query, let page) where page > 1:
                    return ("/search", ["q": query, "offset": Router.perPage * page])
                case .Search(let query, _):
                    return ("/search", ["q": query])
                }
            }()
    
            let URL = NSURL(string: Router.baseURLString)! …
    Run Code Online (Sandbox Code Playgroud)

ios swift alamofire

76
推荐指数
5
解决办法
3万
查看次数

标签 统计

alamofire ×1

ios ×1

swift ×1