我正在尝试使用AVAudioRecorder进行ON
测量,但它会出错
Cann't assign to the result of expression
声明:
var recorder : AVAudioRecorder?
..
定义
self.recorder?.meteringEnabled = true // Error here
答案 0 :(得分:1)
您需要打开self.recorder
变量,如下所示:
self.recorder!.meteringEnabled = true
答案 1 :(得分:1)
可选链接不支持设置属性值。它仅用于查询(请参阅:获取)属性和调用方法。
所以代码应该是
if let recorder = self.recorder?{
recorder.meteringEnabled = true
}
如果对象具有值,则仅设置对象的属性。由于您的ivar很可能被定义为var player: AVAudioPlayer?
,因此编译器实际上并不知道它是否具有值。
正如语言指南中所述,Calling Properties Through Optional Chaining部分:
但是,您无法通过可选链接设置属性值。