简体   繁体   English

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

[英]How to convert NSURL to CFURL in swift?

Here is the code I am running in the Swift playground: 这是我在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)

On the last line I am getting the error: 在最后一行我收到错误:

'NSURL' is not a subtype of CFURL

The error message might be misleading. 错误消息可能会产生误导。

  • audioCfUrl! is wrong because audioCfUrl is not an optional. 是错误的,因为audioCfUrl不是可选的。
  • The last argument should be the address of an AudioFileID variable. 最后一个参数应该是AudioFileID变量的地址。

As already said in a (now deleted) answer, you don't have to cast the NSURL to CFURL : 正如在(现已删除的)答案中已经说过的那样,您不必将NSURLCFURL

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM