应用代表需要发布吗?
-
01-10-2019 - |
题
对于iPhone应用程序中的内存管理仍然是新的,我有一个newbee问题。假设我有一些使用AppDelegate属性的方法。在这些方法开始时,我得到了代表,例如:
// Get delegate
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
我是否需要在方法末尾执行某种版本(我正在考虑在这样的每种方法的末尾添加[委托发布])。
一般而言,我们是否必须在方法的末尾发布每个对象变量(NSString,NSDATA,...),这些变量是在此方法中创建的?
非常感谢,卢克
解决方案
简单规则:
如果当您有对对象的引用时(在这种情况下为AppDelegate),则没有致电 alloc
在对象上,您不需要释放。如果您确实打电话 alloc
在您提供的代码行中,您需要致电 [delegate release];
其他提示
否。这只是对您的代表的引用,该代表很可能是您程序的其他部分使用的。
不隶属于 StackOverflow