Everything is in the storyboard using pretty standard layout.
UISplitViewController
with a detail view controller of UINavigationController
which loads up my custom UITableViewController
. Only the viewDidLoad
in the custom UITableViewController
never fires.
viewWillAppear
fires as expected and everything else works perfectly. The view clearly is loaded (the only thing not working is the notifications I setup in viewDidLoad
), by where is my callback?
My viewDidLoad
method...
Breakpoint,
NSLog
... there is no way these things wouldn't give me feedback if this method executed.
I tried re-creating my storyboard by creating a new project using a the Split View template. Then copying in all the appropriate View Controllers. It worked as expected. (viewDidLoad
called normally).
I compared all my IB connections between the projects side by side... no difference. I then took my original project and deleted all the connections one by one then re-connented them (to the exact same thing they had been connected to). When I got done, I ran the code and everything worked. viewDidLoad
called.
I tried doing a diff between the non-working storyboard version and working one because nothing should have been different, but obviously something was. I couldn't make heads or tails of it Even though much of the XML was identical, many bits were different parts of the XML file which made standard diff unrealistic. It was more like a jigsaw puzzle of trying to find where the bits matched each other and I gave up after an hour of finding nothing.
So a horribly unsatisifying answer. It was IB related, most likely outlets (but I did re-type class names and stuff too.. again identical). Most likely it was my error and not Xcode's, but it doesn't look like I'll be able to pin the exact reason.
Thanks for suggestions, they helped me look in various directions which lead to the solution.