On Dec 20, 2010, at 09:13 AM, Artemiy Pavlov <artemiy.pav...@ukrpost.ua> wrote:
NSTextField *PatternStepLabel = [[NSTextField alloc]
initWithFrame:NSMakeRect(x, y, 20, 20)];
NSString *PatternStepLabelString = [NSString stringWithFormat:@"%d",
i];
[PatternStepLabel setEditable:NO];
[PatternStepLabel setDrawsBackground:NO];
[PatternStepLabel setSelectable:NO];
[PatternStepLabel setBezeled:NO];
[PatternStepLabel setAlignment:2];
[PatternStepLabel setTextColor:StepColor];
[PatternStepLabel setStringValue:PatternStepLabelString];
[PatternStepLabel setFont:[NSFont fontWithName:@"Courier" size:8.0]];
[self addSubview:PatternStepLabel];
[PatternStepLabelString release];
[PatternStepLabel release];
You seem to have solved your main problem, so I'll just comment on a couple of
other things.
(1) You are over-releasing PatternStepLabelString.
stringWithFormat: returns an object you do not own, which means you are not
responsible for releasing it. In fact, you must not release it, because
releasing an object too many times will cause your program to crash.
Note that it is correct to release PatternStepLabel, because alloc returns an
object that you do own. You must release it (either right away or later via
autorelease), or it will be a memory leak.
See
<http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html>,
in particular "Memory Management Rules".
(2) Unless you need PatternStepLabelString for something else, you can
eliminate it altogether by using setIntValue: instead of setStringValue: as
follows.
[PatternStepLabel setIntValue:i];
(3) The convention in Cocoa is to begin variables with lowercase letters, like
this:
NSTextField *patternStepLabel;
NSString *patternStepLabelString;
If you work with other Cocoa developers, or even if you paste code into emails
like this one, you can make the code easier for others to read by sticking to
convention.
--Andy
_______________________________________________
Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
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 arch...@mail-archive.com