对于iPhone应用程序中的内存管理仍然是新的,我有一个newbee问题。假设我有一些使用AppDelegate属性的方法。在这些方法开始时,我得到了代表,例如:

// Get delegate
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];

我是否需要在方法末尾执行某种版本(我正在考虑在这样的每种方法的末尾添加[委托发布])。

一般而言,我们是否必须在方法的末尾发布每个对象变量(NSString,NSDATA,...),这些变量是在此方法中创建的?

非常感谢,卢克

有帮助吗?

解决方案

简单规则:

如果当您有对对象的引用时(在这种情况下为AppDelegate),则没有致电 alloc 在对象上,您不需要释放。如果您确实打电话 alloc 在您提供的代码行中,您需要致电 [delegate release];

其他提示

否。这只是对您的代表的引用,该代表很可能是您程序的其他部分使用的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top