如何在swift中将NSURL转换为CFURL?

时间:2014-08-12 19:42:55

标签: ios swift

以下是我在Swift游乐场中运行的代码:

import Foundation
import AudioToolbox

var audioURL:NSURL = NSURL.fileURLWithPath("/path")

var audioFile:UnsafePointer<AudioFileID>

var audioCfUrl:CFURL = audioURL as CFURL

AudioFileOpenURL(audioCfUrl!, Int8(kAudioFileReadPermission), 0, &audioFile)

在最后一行,我收到错误:

'NSURL' is not a subtype of CFURL

1 个答案:

答案 0 :(得分:6)

错误消息可能会产生误导。

  • audioCfUrl!错误,因为audioCfUrl不是可选的。
  • 最后一个参数应该是AudioFileID变量的地址。

正如在(现已删除的)答案中已经说过的那样,您不必投出NSURLCFURL

let audioURL = NSURL.fileURLWithPath("/path")
var audioFile : AudioFileID = nil
let status = AudioFileOpenURL(audioURL, Int8(kAudioFileReadPermission), 0, &audioFile)