I'm going through all of my documentation regarding memory management and I'm a bit confused about something.
When you use @property, it creates getters/setters for the object:
.h: @property (retain, nonatomic) NSString *myString
.m: @synthesize myString
I understand that, but where I get confused is the use of self. I see different syntax in different blogs and books. I've seen:
myString = [NSString alloc] initWithString:@"Hi there"];
or
self.myString = [NSString alloc] initWithString:@"Hi there"];
Then in dealloc I see:
self.myString = nil;
or
[myString release];
or
self.myString = nil;
[myString release];
On this site, someone stated that using self adds another increment to the retain count? Is that true, I haven't seen that anywhere.
Do the automatic getters/setters that are provided autorelease?
Which is the correct way of doing all of this?
Thanks!