我确定这是一个愚蠢的我做错了但是为什么快速解析器告诉我当AudioQueueDispose的定义明确返回OSStatus类型时我无法转换表达式的type()?我已经推迟了一段时间问这个问题因为我知道这会让我感到愚蠢,我只是被忽略了。
为了简单起见,我把它放到了Xcode游乐场......
import UIKit
import AudioToolbox
import AVFoundation
var audioQueue:AudioQueue
var status : OSStatus = OSStatus(noErr)
status = AudioQueueDispose(audioQueue, inImmediate: false)
答案 0 :(得分:0)
我认为错误消息非常具有误导性,特别是小箭头指向'='符号,暗示它是返回类型的问题。无论如何,实际问题是使用'false',这是一个快速类型'Bool',而函数期望'Boolean'类型,实际上是UInt8。所以上面的内容可以通过写...
来解决status = AudioQueueDispose(audioQueue, 0)
也许某人可以提供更好的解决方案,而不涉及使用整数?
现在我只是定义了几个常量..
let FALSE:Boolean = 0
let TRUE:Boolean = 1