我有一个类型AudioManager
为成员的类AudioBufferList *
。(这是在框架中声明的结构CoreAudio
)。由于AudioBufferList
is not a NSObject
,我无法保留它,所以我必须分配/释放它(如果我错了,请纠正我)。
我的问题是,释放它的“正确”地方在哪里?目前我正在dealloc
使用AudioManager
. release
如果我理解正确,一旦将消息发送到 --- 的实例,就会自动调用此方法,这AudioManager
是真的吗?关于在 Objective-C 对象的非对象成员上使用 alloc/free 是否有任何其他推荐的做法?
编辑:
从苹果文档:
子类必须实现它们自己的 dealloc 版本,以允许释放对象消耗的任何额外内存——例如为数据或对象实例变量动态分配的存储被释放对象所拥有。在执行特定于类的释放后,子类方法应该通过向 super 发送消息来合并超类版本的 dealloc:
这使事情变得更加清晰 - 但更多的见解值得赞赏。