// 注冊實現的子類open class func registerClass(_ protocolClass: Swift.AnyClass) -> Bool// 移除注冊的實現子類open class func unregisterClass(_ protocolClass: Swift.AnyClass)
3 Determining If a Subclass Can Handle a Request
// 是否攔截該請求,并處理open class func canInit(with request: URLRequest) -> Bool
4 Getting and Setting Request Properties
// 通過屬性key獲取值open class func property(forKey key: String, in request: URLRequest) -> Any?// 動態添加屬性可以和對應的值 open class func setProperty(_ value: Any, forKey key: String, in request: NSMutableURLRequest)// 移除屬性key和對應的值open class func removeProperty(forKey key: String, in request: NSMutableURLRequest)
5 Providing a Canonical Version of a Request
// 將攔截的請求轉換為另一個請求處理open class func canonicalRequest(for request: URLRequest) -> URLRequest
6 Determining If Requests Are Cache Equivalent
// 驗證兩個請求是否使用同樣的緩存open class func requestIsCacheEquivalent(_ a: URLRequest, to b: URLRequest) -> Bool
// 數據加載器open var client: URLProtocolClient? { get }// 發出的請求open var request: URLRequest { get }// 緩存數據@NSCopying open var cachedResponse: CachedURLResponse? { get }