如何像 Alamofire 在 Swift 中那样创建 API?

How to create an API like Alamofire does in Swift?

Alamofire.swift 文件中,主要 API 函数未嵌套在 class 或结构中:

import Foundation
...
public func request(method: Method, URLString: URLStringConvertible, parameters: [String: AnyObject]? = nil, encoding: ParameterEncoding = .URL) -> Request {
    return Manager.sharedInstance.request(method, URLString, parameters: parameters, encoding: encoding)
}

但它们可以像 class func 一样被访问,因为 Alamofire. 被添加到函数调用之前:

Alamofire.request(.POST, "http://httpbin.org/post")

这似乎与文件名为 Alamofire.swift 的事实没有任何关系。这是框架设置吗?我希望能够为我自己的 APIs

之一做到这一点

readme中所述,使用Alamofire.request是因为您正在导入框架,因此您必须指定request所在的位置。

不使用框架,直接导入.swift文件时,显示:

Additionally, any of the calling conventions described in the 'Usage' section with the Alamofire prefix would instead omit it (for example, Alamofire.request becomes
request ), since this functionality is incorporated into the top-level namespace.

因此,要回答您的问题,要让您自己的 API 使用 Alamofire 等前缀,您需要创建一个框架并将其 import 放入您的项目中。