Alamofire.swift(二)-URLRequestConvertible

這一篇學習:
URLRequestConvertible協(xié)議相關內容

相同的方法:

public protocol URLRequestConvertible {
    /// Returns a URL request or throws if an `Error` was encountered遇到.
    /// - throws: An `Error` if the underlying `URLRequest` is `nil`.
    /// - returns: A URL request.
    func asURLRequest() throws -> URLRequest
}

下面是新的方式:擴展協(xié)議

Swift 能擴展協(xié)議
擴展 URLRequestConvertible 協(xié)議來添加一個屬性
協(xié)議擴展能添加已經實現(xiàn)的屬性和方法, 但是不能為協(xié)議添加新的必須要實現(xiàn)的屬性和方法,很像你寫泛型函數(shù)那樣, 協(xié)議擴展的內部實現(xiàn)只能訪問保證存在的其它屬性的方法
添加到協(xié)議擴展中的屬性和方法對于所有遵守該協(xié)議的類型來說都是可訪問的。
引用->swift-協(xié)議擴展-焉知非魚

extension URLRequestConvertible {
    public var urlRequest: URLRequest? { return try? asURLRequest() }
}

好,現(xiàn)在再實現(xiàn)繼承這個協(xié)議的URLRequest:

extension URLRequest: URLRequestConvertible {
    public func asURLRequest() throws -> URLRequest { return self }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 136.泛型 泛型代碼讓你可以寫出靈活,可重用的函數(shù)和類型,它們可以使用任何類型,受你定義的需求的約束。你可以寫出...
    無灃閱讀 1,656評論 0 4
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 4,190評論 1 10
  • 擴展 擴展就是向一個已有的類、結構體、枚舉類型或者協(xié)議類型添加新功能。這包括在沒有權限獲取原始源代碼的情況下擴展類...
    cht005288閱讀 523評論 0 0
  • 轉載自:https://github.com/Tim9Liu9/TimLiu-iOS 目錄 UI下拉刷新模糊效果A...
    袁俊亮技術博客閱讀 12,146評論 9 105
  • 馬克飛象是一款專為印象筆記(Evernote)打造的Markdown編輯器,通過精心的設計與技術實現(xiàn),配合印象筆記...
    jeykigung閱讀 400評論 0 3

友情鏈接更多精彩內容