【发布时间】:2011-11-08 19:39:06
【问题描述】:
我在 iOS 4 中执行此操作的“旧”方式是在头文件中声明对象并将对象传递给回写以处理错误参数。
NSError *error;
由于我知识有限的原因,我无法在 iOS5 中继续这种模式并收到错误:
“将非本地对象的地址传递给_autoreleasing参数以进行回写”
//Instantiate an instance of AVAudioSession object
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
//Setup playback and Record
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&error ];
我的临时解决方案是这样做:
NSError *theError = nil;
//Instanciste an instance of AVAudioSession object
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
//Setup playback and Record
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&theError];
//Activate session
[audioSession setActive:YES error:&theError];
这很烦人,因为我每次需要在 Xcode 中使用它时都必须创建这个本地对象。
我的问题是:在新的 ARC 范式中是否有更好的方法来做到这一点?
我在堆栈溢出中发现了一个类似的问题,它处理了这个问题...... here
【问题讨论】:
标签: objective-c ios automatic-ref-counting