我正试着用AVAudioRecorder ON计量器,但它给出的错误是
Cann't assign to the result of expression声明:
var recorder : AVAudioRecorder?
..定义
self.recorder?.meteringEnabled = true // Error here发布于 2014-06-11 04:39:57
您需要像这样解开self.recorder变量:
self.recorder!.meteringEnabled = true发布于 2014-06-11 13:33:13
可选链接不支持属性值的设置。它仅用于查询(参见:获取)属性和调用方法。
所以代码应该是
if let recorder = self.recorder?{
recorder.meteringEnabled = true
}这将仅在对象具有值的情况下设置对象的属性。由于您的ivar很可能被定义为var player: AVAudioPlayer?,编译器实际上并不知道它是否会有一个值。
正如语言指南中Calling Properties Through Optional Chaining部分中所提到的:
但是,您不能通过可选链接来设置属性的值。
https://stackoverflow.com/questions/24135065
复制相似问题