Migration 如何在swift2中创建[String:AnyObject]数组
此代码段使用swift,但不使用swift2编译Migration 如何在swift2中创建[String:AnyObject]数组,migration,swift2,Migration,Swift2,此代码段使用swift,但不使用swift2编译 let settings = [ AVFormatIDKey: kAudioFormatLinearPCM, AVSampleRateKey: 44100.0, AVNumberOfChannelsKey: 1, AVLinearPCMBitDepthKey: 16, AVLinearPCMIsBigEndianKey: true ] let audioFile = AVAudioFile(forWrit
let settings = [
AVFormatIDKey: kAudioFormatLinearPCM,
AVSampleRateKey: 44100.0,
AVNumberOfChannelsKey: 1,
AVLinearPCMBitDepthKey: 16,
AVLinearPCMIsBigEndianKey: true
]
let audioFile = AVAudioFile(forWriting:url, settings:settings, error:&error)
我得到一个“表达式类型不明确,没有更多上下文”错误。如果将赋值更改为[String:Any],则AVAudioFile会出错,因为它需要[String:AnyObject]数组
let settings:[String : Any] = [
AVFormatIDKey: kAudioFormatLinearPCM,
AVSampleRateKey: 44100.0,
AVNumberOfChannelsKey: 1,
AVLinearPCMBitDepthKey: 16,
AVLinearPCMIsBigEndianKey: true
]
let audioFile = try! AVAudioFile(forWriting:url, settings:settings)
有人知道如何在swift2中创建[String:AnyObject]数组吗?
kAudioFormatLinearPCM
是UInt32,但Swift 2需要Int:
let settings: [String:AnyObject] = [
AVFormatIDKey: Int(kAudioFormatLinearPCM),
AVSampleRateKey: 44100.0,
AVNumberOfChannelsKey: 1,
AVLinearPCMBitDepthKey: 16,
AVLinearPCMIsBigEndianKey: true
]
工作完美。我没听清楚UInt32到Int的转换