Hacker News new | ask | show | jobs
by fbu 5539 days ago
Isn't there a huge memory leak? Creating a new pointer on each iteration without keeping track of them.

I might be wrong I've been doing games in CL for some time now.

2 comments

With a few exceptions, pointers returned by methods in Objective-C are assumed to be autoreleased. That means their reference count will be decremented at the end of the event loop.

But if OP is expecting a lifetime of learning, he might want to push a new autorelease pool for each iteration.

Or just release it. If you're sure it's autoreleased then retain/release it. If you're not sure, just set it to autorelease before you retain/release it.
retain/release on an autoreleased object won't make it get destroyed any faster. You still have to wait for the event loop to cycle (or push/pop your own autorelease pool).
That's correct. That's something I read, have repeated but never bothered to actually test.
Assuming that's in his init method, he left

-(void) dealloc {

  self.newProgram = nil;
}

as an exercise for the reader.