首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何展开UInt32?在斯威夫特?

如何展开UInt32?在斯威夫特?
EN

Stack Overflow用户
提问于 2017-04-04 14:44:48
回答 1查看 186关注 0票数 0

我在为一些很简单的事情而挣扎,我不知道发生了什么。顺便说一下,它是斯威夫特1.2,但我不认为这是一个特殊的情况!

我有一个UInt32?变量,我需要得到这个值,但是使用!会引发一个错误:fatal error: unexpectedly found nil while unwrapping an Optional value。不,我知道这不是零。

代码语言:javascript
复制
static func checkBitrate(filePath: String) -> Bool {

    let audioURL = NSURL.fileURLWithPath(filePath)
    var audioFile : AudioFileID = nil
    var theErr: OSStatus? = nil
    let hint: AudioFileTypeID = 0
    theErr = AudioFileOpenURL(audioURL, Int8(kAudioFileReadPermission), hint, &audioFile)

    if (theErr != OSStatus(noErr)) {
        return false
    }

    var outDataSize: UInt32 = 0
    var isWritable: UInt32 = 0
    theErr = AudioFileGetPropertyInfo(audioFile, UInt32(kAudioFilePropertyBitRate), &outDataSize, &isWritable)
    if (theErr != OSStatus(noErr)) {
        return false
    }

    var bitrate: UInt32? = nil
    theErr = AudioFileGetProperty(audioFile, UInt32(kAudioFilePropertyBitRate), &outDataSize, &bitrate)
    if (theErr != OSStatus(noErr)) {
        return false
    }

    println("Bitrate value: \(bitrate)")

    let br = bitrate!
    //return br == 192000
    return false
}

该错误将在let br = bitrate!行引发。

我有点迷路了,我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-04 14:57:05

您只需初始化您的var

代码语言:javascript
复制
 var bitrate: UInt32 = 0 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43210498

复制
相关文章

相似问题

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