Do app delegates need to be released?
Still new to the memory management in iPhone apps, I have a newbee question. Let say I have some method that use attributes of the AppDelegate. At the beginning of those methods, I get the delegate like:
// Get delegate MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
Do I need to perform some kind of release at the end of the method (I was thinking of adding [delegate release] at the end of each methods like this one).
Generally speaking, do we have to release, at the end of the method, each object variables (NSString, NSData, ...) that were created within this method ?
Thanks a lot, Luc
If when you got a reference to an object (appDelegate in this case) you didn't call alloc on the object then you don't need release. If you did call alloc in that line of code you provided then you would want to call [delegate release];
No. This is just a reference to your delegate which is most likely used by other parts of your program.