Instance Method


Creates a URL protocol instance to handle the request.


- (instancetype)initWithRequest:(NSURLRequest *)request cachedResponse:(NSCachedURLResponse *)cachedResponse client:(id<NSURLProtocolClient>)client;



The URL request for the URL protocol object. This request is retained.


A cached response for the request; it may be nil if there is no existing cached response for the request.


An object that provides an implementation of the NSURLProtocolClient protocol that this instance uses to communicate with the URL Loading System. This client object is retained.

Return Value

The initialized protocol object.


Subclasses should override this method to do any custom initialization. Don’t call this method explicitly. When you register your custom protocol class, the system will initialize instances of your protocol as needed.

This is the designated initializer for NSURLProtocol.

See Also

Creating Protocol Objects

- initWithTask:cachedResponse:client:

Creates a URL protocol instance to handle the task.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software