Memory Management
-
So I'm reading this piece about memory management under Apple's "Cocoa" and it seems pretty straight-forward
But I thought this one example was a bit unusual:
<font size="2">@interface Penis : NSObject
{
float _length;
}
+(id)penisWithLength: (float)length;
-(id)initWithLength: (float)length;
-(float)length;
-(float)lengthWhenCold;
@end
@implementation Penis
+(id)penisWithLength: (float)length
{
// returns auto-released object.
// caller NOT responsible for memory management.
return [[[self alloc] initWithLength: length] autorelease];
}
-(id)initWithLength: (float)length
{
// caller responsible for memory management.
if ((self = [super init]))
{
_length = length;
}
return self;
}
-(id)copy
{
// could be implemented as
// return [self retain];
// since this object is not mutable.
// caller responsible for memory management.
return [[Penis alloc] initWithLength: length];
}
-(float)length
{
return _length;
}
-(float)lengthWhenCold
{
return _length * 0.25;
}
@end</font>
-
They forgot this one:
<FONT size=2>-(float)reportedLength
{
return _length + 2.0;
}</FONT>@El_Heffe said:
autorelease
Tee hee.
-
@El_Heffe said:
So I'm reading this piece about memory management under Apple's "Cocoa" and it seems pretty straight-forward
TRTWF is expecting to find anything of value on Kuro5hin. I'm surprised to learn it's still going frankly.
-
It might be an elaboration on Cocoa Words That Sound Dirty But Aren't ( http://www.sticksoftware.com/developer/cocoajoke.html ). Not really funny though.