• 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: Subclassing an object's creation method (NSBezierPath's +bezierPath)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Subclassing an object's creation method (NSBezierPath's +bezierPath)


  • Subject: Re: Subclassing an object's creation method (NSBezierPath's +bezierPath)
  • From: Steve Sims <email@hidden>
  • Date: Mon, 31 May 2004 17:13:46 -0400

Peter and Prachi,

Thanks for your feedback and suggestions

On 28 May 2004, at 04:47, Peter Maurer wrote:

+ (MyBez *)bezierPath
{
if (self = [super bezierPath])
{
[self setXLoc: 0];
[self setYLoc: 0];
}
return self;
}

Background information: You shouldn't use "self" here, because in class methods such as yours, "self" refers to the class, not an instance. Prachi's suggestion...

Ah - hence why I was getting the compilation errors I was seeing.

+ (MyBez *)bezierPath
{
MyBez *path = [[self alloc] init] autorelease];

[path setXLoc:0]; // only if you didn't do this in your init method
[path setYLoc:0]; // only if you didn't do this in your init method

return path;
}

... is the correct (and more elegant) way of doing this, IMHO. Cheers,

(Quick note - there's a missing '[' above...)

Sure enough doing things this way works fine and I don't get an error. However I'm slightly troubled by not using NSBezierPath's bezierPath method to create the path object, since that is the documented way to get an NSBezierPath object. It's possible that bezierPath does something that the init call does not...

I therefore ended up replacing the MyBez *path line with this:
MyBez *path = (MyBez *)[super bezierPath];

This seems to work just fine, and definitely gives the bezierPath the chance to initialise correctly.

Thanks again guys,

Steve
_______________________________________________
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.


References: 
 >Subclassing an object's creation method (NSBezierPath's +bezierPath) (From: Steve Sims <email@hidden>)
 >Re: Subclassing an object's creation method (NSBezierPath's +bezierPath) (From: Peter Maurer <email@hidden>)

  • Prev by Date: Re: Window won't show a second time.
  • Next by Date: Re: NSImageView and Animated Gifs?
  • Previous by thread: Re: Subclassing an object's creation method (NSBezierPath's +bezierPath)
  • Next by thread: Re: Subclassing an object's creation method (NSBezierPath's +bezierPath)
  • Index(es):
    • Date
    • Thread