Ios 使用AVAudioRecorder&x27;s仪表报错
我试图用AVAudioRecorder在仪表上进行Ios 使用AVAudioRecorder&x27;s仪表报错,ios,swift,avaudiorecorder,Ios,Swift,Avaudiorecorder,我试图用AVAudioRecorder在仪表上进行,但它给出的错误如下 Cann't assign to the result of expression 声明: var recorder : AVAudioRecorder? .. 定义 self.recorder?.meteringEnabled = true // Error here 您需要像这样打开self.recorder变量: self.recorder!.meteringEnabled = true 可选链接不支持属性值的
,但它给出的错误如下
Cann't assign to the result of expression
声明:
var recorder : AVAudioRecorder?
..
定义
self.recorder?.meteringEnabled = true // Error here
您需要像这样打开self.recorder
变量:
self.recorder!.meteringEnabled = true
可选链接不支持属性值的设置。它仅用于查询(请参见:获取)属性和调用方法
所以代码应该是
if let recorder = self.recorder?{
recorder.meteringEnabled = true
}
这将仅在对象具有值时设置对象的属性。由于ivar很可能定义为var player:AVAudioPlayer?
,编译器实际上不知道它是否有值
如《语言指南》所述,在以下章节中:
但是,不能通过可选链接设置属性的值
这也解决了我的问题。但上面的答案是设置可选值的正确方法+1给你..嗨,你能用Swift录音吗?如果是的话,你能分享完整的例子吗?