• 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
unused window initializer in document-based cocoa app
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

unused window initializer in document-based cocoa app


  • Subject: unused window initializer in document-based cocoa app
  • From: Eimantas Vaičiūnas <email@hidden>
  • Date: Sun, 4 Oct 2009 13:23:11 +0300

Hi all!

I'm creating a document-based app with custom drawn windows.

I've created a custom window controller and overrode the
makeWindowControllers method in my document subclass like so:

- (void)makeWindowControllers {
  windowController = [[BlankWindowController alloc] init];
  [self addWindowController:windowController];
  [windowController release];
}

My window controller initialization looks like this:

- (id)init {
  self = [super initWithWindowNibName:@"BlankDoc"];

  if (self != nil) {
    NSRect windowFrame = NSMakeRect(100.0f, 800.0f, 500.0f, 500.0f);
    self.window = [[BlankWindow alloc] initWithContentRect:windowFrame

styleMask:NSBorderlessWindowMask

backing:NSBackingStoreBuffered
                                                     defer:YES];
  };

  return self;
}

In BlankDoc.xib file I define custom window controller as file's owner
and custom window class (BlankWindow) for window object. BlankWindow
initializer looks like this:

- (id)initWithContentRect:(NSRect)contentRect
styleMask:(NSUInteger)windowStyle
backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
{
  NSLog(@"initBeforeSuper: %@", self);
  self = [super initWithContentRect:contentRect
                          styleMask:NSBorderlessWindowMask
                            backing:bufferingType
                              defer:deferCreation];
  NSLog(@"initAfterSuper: %@", self);
  if (self)
  {
    // additional window initialization
  }
  return self;
}

However each time i build and run an app i get this error:

*** -[BlankWindow initWithFrame:]: unrecognized selector sent to instance

I see that only initBeforeSuper log message is output in console window.

Why? It does not happen when I use this code in simple (read: not
document-based) cocoa app.
What am i missing? Shouldn't my window controller initialize window
with initWithContentRect:initializers only (i.e. without using
window's initWithFrame initializer)?
_______________________________________________

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: unused window initializer in document-based cocoa app
      • From: Kyle Sluder <email@hidden>
  • Prev by Date: Re: app delegate +initialize
  • Next by Date: Base64 encoding and deprecated stringWithCString: length:
  • Previous by thread: Re: 64bit Method Swizzling
  • Next by thread: Re: unused window initializer in document-based cocoa app
  • Index(es):
    • Date
    • Thread