문제

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

도움이 되었습니까?

해결책

Simple rule:

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top