Using Asynchronous method inside a method has a return type
<p>I was using NSURLProtocol to manipulate request made from the Webview. I was trying to convert the request from host to ip address, and then send it out. I put those logic inside </p>

<pre><code>+ (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request{
        Here is an asynchronous method which gives a NSString by using a block. 
        I need to convert this NSString back to NSURLRequest, 
        so the webview can load the content. 
}
</code></pre>