I suspect you are just assigning your ivar without retaining the colour. It gets autoreleased and so crashes when you access it later (stale reference).

blueColor probably continues to work because (as an internal optimisation) it just so happens that that is a singleton and isn't autoreleased, so even though you only have a weak reference to it, it remains valid.

A review of memory management in general should set you straight.

http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/

cheers, Graham



On 26 Jul 2008, at 7:40 am, Ashley Perrien wrote:

I have a custom NSView that contains as an instance variable a color. If I set the color in init as lineColor = [NSColor blueColor]; all is well. If instead I use [NSColor colorWithCalibratedRed: 0.5 green: 0.5 blue: 1.0 alpha: 1.0], the program crashes if I try and access or change the color later. The initial draw using it is just fine. But the next time it's redrawn or if I change the color, everything crashes. I have the exact same problem in 2 completely different applications. I'd like to be able to initialize the colors with something other than the default redColor, blueColor, etc. I've also tried one or two of the other ways to specify values and have had the same problem. Any ideas on what's going on?

Ashley Perrien
_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/graham.cox%40bigpond.com

This email sent to [EMAIL PROTECTED]

_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to