It's most likely because you're setting _mainWebView to nil. This pretty much means you "unplug" the outlet you hooked up from Interface Builder. So the web view you're configuring in this code isn't connected to the screen at all. There are two options you can choose from:

1) Use Interface Builder, connect the outlets, and remove the first two lines of code in the snippet above.

2) Remove the web view from Interface Builder, remove the first line of code in the snippet above, and add [self.view addSubview:_mainWebView]; before you load the request.

By the way, I believe UIWebView is not to be subclassed, at least in an App Store release. It could be potentially breakable in future iOS's...