If you start the connection with sendAsynchronousRequest:queue:completionHandler:
then you are not setting a delegate and no delegate callback methods will be called.
If you want to use the delegate methods you need to start the connection with initWithRequest:delegate:startImmediately:
.