gpt4 book ai didi

Objective-C 内存管理(分配和自动释放)

转载 作者:太空狗 更新时间:2023-10-30 03:53:02 28 4
gpt4 key购买 nike

当你分配和初始化对象,然后想要返回那个对象时,你应该如何返回它?

我有以下代码:

NSXMLDocument* fmdoc = [[NSXMLDocument alloc] initWithContentsOfURL:trackInfoUrl
options:NSXMLDocumentTidyXML error:&err];
return [fmdoc autorelease];

这是正确的吗?

最佳答案

没错。由于您正在初始化对象,因此您有责任释放或自动释放它。

由于创建时的保留计数为 1,并且您希望在调用方法有机会使用该对象之前不删除它,因此发送正确的消息是自动释放。

如果你发送它释放,内存会立即被回收。通过发送自动释放,内存将不会被回收,直到默认自动释放池被耗尽,直到调用方法有机会在需要时保留对象之后才会发生。

关于Objective-C 内存管理(分配和自动释放),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165064/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com