• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Bugs with parentViewController?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bugs with parentViewController?


  • Subject: Re: Bugs with parentViewController?
  • From: Matt Neuburg <email@hidden>
  • Date: Sat, 17 Nov 2012 06:39:03 -0800

On Nov 16, 2012, at 8:28 PM, email@hidden wrote:

> Date: Fri, 16 Nov 2012 14:14:08 -0800
> From: Rick Mann <email@hidden>
> Subject: Bugs with parentViewController?
>
> I'm finding that parentViewController is nil for all the UINavigationControllers embedded in my hierarchy (via storyboard). In my case, they're embedded in UISplitViewControllers.
>
> I wrote bugs about this, but I wanted to check to see if others are seeing that, or if I've failed to do something properly.

When you have questions of this sort, one useful approach, rather than asking others, is to test. When I say "test", I mean, isolate the issue entirely from the current project and work in a new project of utmost simplicity, so that whatever complications or mistakes the real project introduces are not introduced there. I am always surprised at the apparent failure of questioners to do this, as it is such a helpful and easy technique.

So, for example, in this case, one could do as follows:

Make a new project, for iPad only, using the Master-Detail template. That gives a UISplitViewController containing two UINavigationControllers, each containing a view controller as its root. Now put a button in the deepest detail controller in the storyboard, and connect its action to a method in DetailViewController.m that goes like this:

- (IBAction)doButton:(id)sender {
    UIViewController* vc = self;
    while (vc) {
        NSLog(@"%@", vc);
        vc = vc.parentViewController;
    }
}

Now run the project and tap the button. Here's the sort of thing that results:

2012-11-17 06:25:46.627 X[416:c07] <DetailViewController: 0x716c6a0>
2012-11-17 06:25:46.639 X[416:c07] <UINavigationController: 0x716c310>
2012-11-17 06:25:46.640 X[416:c07] <UISplitViewController: 0x7169090>

Now, it is a law of logic that one counterexample is sufficient to disprove an hypothesis. So if the hypothesis is that the parent is nil for navigation controllers in split view controllers in general, that idea is false. It is far more likely, therefore, that you've just hooked things together wrong, in your storyboard or in code, in your one particular case.

Another way to approach the matter is through logical thinking. The parent view controller chain is *crucial* to the entire workings of a modern iOS app. Therefore it seems most improbable that its integrity would be violated, as all sorts of things would break as a consequence. This reasoning has a somewhat Kantian a priori ring to it, but it is certainly suggestive that one would do better to doubt oneself rather than the framework in so vital and elementary a matter.

m.

--
matt neuburg, phd = email@hidden, http://www.apeth.net/matt/
pantes anthropoi tou eidenai oregontai phusei
Programming iOS 5! http://shop.oreilly.com/product/0636920023562.do
RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html
TidBITS, Mac news and reviews since 1990, http://www.tidbits.com


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Bugs with parentViewController?
      • From: Rick Mann <email@hidden>
  • Prev by Date: Re: Bugs with parentViewController?
  • Next by Date: NSSearchField selecting after sending its action
  • Previous by thread: Re: Bugs with parentViewController?
  • Next by thread: Re: Bugs with parentViewController?
  • Index(es):
    • Date
    • Thread