• 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: NSTextField Tab Order.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSTextField Tab Order.


  • Subject: Re: NSTextField Tab Order.
  • From: Quincey Morris <email@hidden>
  • Date: Wed, 13 Jun 2012 14:50:16 -0700

On Jun 13, 2012, at 14:15 , Robert Tillyard wrote:

> Window is created from a XIB using:
>
> - (id)initWithManagedObjectContext:(NSManagedObjectContext *)inMoc
> {
>   if ((self = [super initWithWindowNibName:@"RunnersWindow" owner:self]))
>      [self setManagedObjectContext:inMoc];
>
>   return (self);
> }
>
> - (void)windowDidLoad
> {
>   [window setAutorecalculatesKeyViewLoop:NO];
>   NSLog (@"windowDidLoad: Window = %@\n", window);
> }

> I'd still like to fix my window == NULL problem


You're referring to a "window" instance variable that NSWindowController does not define, so I assume you defined it yourself. If so, that's a mistake. You're supposed to refer to the "window" property -- self.window.

In IB, when you connect what looks alike a "window" outlet, you're actually connecting the NSWindowController's private "_window" ivar (or perhaps, these days, it's connecting the "window" property, I don't know). That means your separately-defined "window" ivar won't get connected and will always contain nil. You should get rid of this ivar from your subclass.

The other difficulty you're running into is that by design the window is not created immediately when you create a window controller. (You say of your code, above, that it creates a window from a XIB. It doesn't. It only creates a window controller.)

Instead, the window is created the first time something refers to the window controller's "window" property (e.g. 'self.window' if it's referred to from within the window controller itself). At that point, the NIB is instantiated, the window created, and 'windowDidLoad' is invoked.


_______________________________________________

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: NSTextField Tab Order.
      • From: Ken Thomases <email@hidden>
    • Re: NSTextField Tab Order. (Fixed)
      • From: Robert Tillyard <email@hidden>
References: 
 >NSTextField Tab Order. (From: Robert Tillyard <email@hidden>)
 >Re: NSTextField Tab Order. (From: Ken Thomases <email@hidden>)
 >Re: NSTextField Tab Order. (From: Robert Tillyard <email@hidden>)

  • Prev by Date: Re: TextField not updated in a sheet for document-based Cocoa app
  • Next by Date: Re: NSTextField Tab Order.
  • Previous by thread: Re: NSTextField Tab Order.
  • Next by thread: Re: NSTextField Tab Order. (Fixed)
  • Index(es):
    • Date
    • Thread