首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AnyObject中创建[String : swift2 ]数组

如何在AnyObject中创建[String : swift2 ]数组
EN

Stack Overflow用户
提问于 2015-09-20 16:14:10
回答 1查看 576关注 0票数 2

此代码段与swift2一起工作,但不编译。

代码语言:javascript
复制
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数组。

代码语言:javascript
复制
let settings:[String : Any] = [
   AVFormatIDKey: kAudioFormatLinearPCM,
    AVSampleRateKey: 44100.0,
    AVNumberOfChannelsKey: 1,
    AVLinearPCMBitDepthKey: 16,
    AVLinearPCMIsBigEndianKey: true
]

let audioFile = try! AVAudioFile(forWriting:url, settings:settings)

有人知道如何在AnyObject中创建String : swift2数组吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-20 18:24:08

kAudioFormatLinearPCM是UInt32,但Swift 2却想要Int:

代码语言:javascript
复制
let settings: [String:AnyObject] = [
    AVFormatIDKey: Int(kAudioFormatLinearPCM),
    AVSampleRateKey: 44100.0,
    AVNumberOfChannelsKey: 1,
    AVLinearPCMBitDepthKey: 16,
    AVLinearPCMIsBigEndianKey: true
]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32681531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档