Spi*_*oxa 3 core-audio ios xcode4.2 automatic-ref-counting
抱歉,如果这太模糊了......这是我在这里发表的第一篇文章,我对这个问题感到很满意!
我一直在尝试使用Audio Units将iOS Xcode项目转换为ARC,但它似乎打破了音频单元处理类的功能.一些症状......当我尝试在AUProcessor.mm中引用'self'时,AUProcessor类被称为'const*',而在ARC之前的版本中,没有提到'const*'.
这个指向'self'的指针会产生以下错误:
callbackStruct.inputProcRefCon = self;
[error] Assigning to 'void *' from incompatible type 'AUProcessor *const __strong'.
我可以通过在self之前添加(__bridge void*)来删除错误,这允许项目进行编译.但是,音频单元处理器在应用程序中不起作用.
在类的引用方面,我在代码中看不到与ARC之前版本明显不同的任何其他内容.
如果需要更多背景,请告诉我.
提前致谢!!
(顺便说一句,感谢所有这些论坛的贡献者......对于热衷但缺乏经验的程序员来说,他们真的是一个很好的资源!)
通常情况下,(__bridge void*)这将是正确的演员.这意味着"在不应用任何内存管理的情况下获取指向此对象的指针;我保证只要需要它就会保留它." (最后一部分只是暗示,但如果你不这样做,你就会崩溃.)
您确定self只要这个音频单元继续存在吗?如果没有任何强烈的引用self,那么它将消失inputProcRefCon并将成为一个悬垂的指针.
当你说"在应用程序中不起作用"时,你的意思是什么?它崩溃了吗?回调不会发生吗?当回调发生时,它没有正确的数据吗?
| 归档时间: |
|
| 查看次数: |
1720 次 |
| 最近记录: |