+1  A: 

UIViewController should be initialized using initWithNibName:bundle: method. In its description stated:

This is the designated initializer for this class.

If you specify nil for the nibName parameter and do not override the loadView method in your custom subclass, the default view controller behavior is to look for a nib file whose name (without the .nib extension) matches the name of your view controller class. If it finds one, the class name becomes the value of the nibName property, which results in the corresponding nib file being associated with this view controller.

So if you do not load you view controller from nib file make sure you override loadView method and set controller's view property in it.
Hope that will help.

Vladimir
Great comment and thanks for that info(I didn't know that) but in this case it doesn't apply as I have other View Controllers that are initialized the exact same way, all not requiring any overriding of loadView. The one difference is that I didn't have any nib file for the others so I remain convinced that it must be a bug somewhere in Xcode.I solved the problem by renaming my TwitterDrilldownViewController slightly and it works now. I can only assume that Xcode does have some incorrect reference to the old nib file and I am still curious if any anyone else has had this issue. Thanks again.
sciritai
hm, may be you should unmark my answer as accepted - may be someone will point to real solution to that problem?
Vladimir
I think your answer is good for this and will help anyone else who has this problem. My specific problem seems to be very obscure so I'll leave it at that.
sciritai