Swift 2.0:expression式的types是不明确的,没有更多的上下文?
以下用于Swift 1.2中的工作:
var recordSettings = [ AVFormatIDKey: kAudioFormatMPEG4AAC, AVEncoderAudioQualityKey : AVAudioQuality.Max.rawValue, AVEncoderBitRateKey : 320000, AVNumberOfChannelsKey: 2, AVSampleRateKey : 44100.0]
现在,它给出了错误:
“typesexpression是不明确的,没有更多的上下文”。
你可以给编译器更多的信息:
let recordSettings : [String : Any] = [ AVFormatIDKey: kAudioFormatMPEG4AAC, AVEncoderAudioQualityKey : AVAudioQuality.Max.rawValue, AVEncoderBitRateKey : 320000, AVNumberOfChannelsKey: 2, AVSampleRateKey : 44100.0 ]
遵守recordSettings
参数所要求的[String : AnyObject]
格式; 除了@ Unheilig的回答,你需要将你的ints
和floats
转换为NSNumber
:
let recordSettings : [String : AnyObject] = [ AVFormatIDKey: NSNumber(unsignedInt: kAudioFormatMPEG4AAC), AVEncoderAudioQualityKey : AVAudioQuality.Max.rawValue as NSNumber, AVEncoderBitRateKey : 320000 as NSNumber, AVNumberOfChannelsKey: 2 as NSNumber, AVSampleRateKey : 44100.0 as NSNumber ]
我也得到这个错误消息试图初始化与零的可选项数组:
var eggs : [Egg] = Array<Egg>(count: 10, repeatedValue: nil)
expression式types'Array <Egg>'是不明确的,没有更多的上下文。
将[Egg]
更改为[Egg?]
修复了错误。
- 如何将UIImage数组导出为电影?
- 如何使用Swift播放声音?
- AVPlayer和MPMoviePlayerController的区别
- AVCaptureVideoPreviewLayer
- 如何减less使用UIImagePickerController创build的video的文件大小?
- 使用AVFoundation AVPlayer播放video?
- 如何解决警告:发送'ViewController * const __strong'参数的不兼容types'id <AVAudioPlayerDelegate>?
- ios使用AVFramework捕获图像
- 如何在Swift中使用AVPlayerViewController(AVKit)播放video