簡體   English   中英

如何在 Swift 中創建像 Alamofire 那樣的 API?

[英]How to create an API like Alamofire does in Swift?

Alamofire.swift文件中,主要的 API 函數沒有嵌套在類或結構中:

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)
}

但是它們能夠被訪問,就好像它們是自Alamofire.以來的class func Alamofire. 被添加到函數調用之前:

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

它似乎與文件名為 Alamofire.swift 的事實沒有任何關系。 這是框架設置嗎? 我希望能夠為我自己的 API 之一執行此操作

自述文件中所述,使用Alamofire.request是因為您要導入框架,因此您必須指定request所在的位置。

當不使用框架並直接導入 .swift 文件時,它指出:

此外,“用法”部分中描述的任何帶有 Alamofire 前綴的調用約定都將省略它(例如,Alamofire.request 變為
request ),因為此功能已合並到頂級命名空間中。

因此,要回答您的問題,要讓您自己的 API 使用諸如 Alamofire 之類的前綴,您需要創建一個框架並將其import到您的項目中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM