• 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
replacing self in initWithCoder method? {advanced}
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

replacing self in initWithCoder method? {advanced}


  • Subject: replacing self in initWithCoder method? {advanced}
  • From: Dan Wood <email@hidden>
  • Date: Wed, 27 Nov 2002 12:54:06 -0800

I have some UI elements in a nib that are subclasses of NSComboBox -- however, I would like to, via a preference, just show them as a plain NSTextField instead. (NSTextField happens to be a subclass of NSComboBox.)

I'm thinking that maybe I can fake this in the initWithCoder: method of MyComboBox, so that if the preference is set to use a plain NSTextField instead, I replace self with an NSTextField.

However, it's not working (I end up seeing a combo box in the interface, though it doesn't respond to the popup button. And, I get this message at runtime when the NSTextField is built:

NSView not correctly initialized. Did you forget to call super?

Am I doing this wrong? Any suggestions on making this work?

Dan



@implementation MyComboBox

- (id)initWithCoder:(NSCoder *)decoder
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL beTextField = [defaults boolForKey:@"Use Plain Text Field"];

if (beTextField)
{
[self autorelease]; // don't need the MyComboBox that was allocated
self = [[NSTextField alloc] initWithCoder:decoder]; // replace with an NSTextField
}
else
{
if (self = [super initWithCoder:decoder])
{
.... MyComboBox - specific initialization
}
}
return self;
}

--
Dan Wood
Karelia Software, LLC
email@hidden
http://www.karelia.com/
Watson for Mac OS X: http://www.karelia.com/watson/
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • Re: replacing self in initWithCoder method? {advanced}
      • From: Jérôme Laurens <email@hidden>
  • Prev by Date: Re: Light DB Question
  • Next by Date: Re: NSTextView text changes size
  • Previous by thread: Re: NSTextView text changes size
  • Next by thread: Re: replacing self in initWithCoder method? {advanced}
  • Index(es):
    • Date
    • Thread