Pointers, am I doing them correctly? Objective-c/cocoa

Posted by Chris on Stack Overflow See other posts from Stack Overflow or by Chris
Published on 2010-04-02T08:59:10Z Indexed on 2010/04/02 9:03 UTC
Read the original article Hit count: 280

I have this in my @interface

struct track currentTrack;
struct track previousTrack;
int anInt;

Since these are not objects, I do not have to have them like int* anInt right? And if setting non-object values like ints, boolean, etc, I do not have to release the old value right (assuming non-GC environment)?

The struct contains objects:

typedef struct track {
NSString* theId;
NSString* title;
} *track;

Am I doing that correctly?

Lastly, I access the struct like this:

[currentTrack.title ...];
currentTrack.theId = @"asdf"; //LINE 1

I'm also manually managing the memory (from a setter) for the struct like this:

[currentTrack.title autorelease];
currentTrack.title = [newTitle retain];

If I'm understanding the garbage collection correctly, I should be able to ditch that and just set it like LINE 1 (above)?

Also with garbage collection, I don't need a dealloc method right? If I use garbage collection does this mean it only runs on OS 10.5+? And any other thing I should know before I switch to garbage collected code?

Sorry there are so many questions. Very new to objective-c and desktop programming.

Thanks

© Stack Overflow or respective owner

Related posts about garbage

Related posts about collection