我已经阅读了@mattt的几篇教程,README,但无法弄清楚几件事.
URLRequestConvertible现实世界API 的正确用法是什么?看起来我是否会通过URLRequestConvertible为所有API 实现协议来创建一个路由器- 它几乎不可读.我应该每个端点创建一个路由器吗?
第二个问题很可能是由于缺乏使用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)