iphone - 如何释放为 appDelegate 共享实例分配的内存

标签 iphone ios memory-management memory-leaks

在我的应用程序中,我创建了一个 appdelegate 共享实例,并且我正在为一些数组分配内存,例如

appDelegate = (AppDelegate_Shared *)[[UIApplication sharedApplication] delegate];
appDelegate.allServiceAppList_array = [[NSMutableArray alloc]init];
appDelegate.blockXMLData_array = [[NSMutableArray alloc]init];
appDelegate.notesXMLData_array = [[NSMutableArray alloc]init]; 

现在我不知道如何释放我分配的所有数组。它显示了我分配和初始化内存的潜在泄漏。

释放这些对象的正确方法是什么。

提前致谢

最佳答案

如果 AppDelegate 属性被定义为(保留),就这样做

appDelegate.something = [[[Something alloc]init]autorelease];

这是 ObjC 中最常见的模式。

保留属性将保留新对象,autorelease 本质上是在将来释放对象,因此最终结果是保留计数为 1 的对象将在 dealloc 方法中释放。

关于iphone - 如何释放为 appDelegate 共享实例分配的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10911186/

相关文章:

iphone - 使用 CGFloat 和 float 有什么区别?

iOS 运行时 : Use Case

c++ - 我将如何在不破坏链表的情况下删除链表中的节点?

iphone - 何时释放整个类中使用的对象?

c# - C# 控制台应用程序使用的日志内存

iphone - 将参数传递给 block ?

iphone - 如何在 iPhone SDK 中列出所有文件夹及其子目录/文件?

ios - 截断应用程序中所有 UINavigationBar 标题的最佳方法

ios - 为 iPhone 6s 编译和较旧的应用程序显示较低的分辨率

ios - didDiscoverPeripheral "fail to build"错误