从 String 到 NSURL 的转换不断返回 nil
Posted
技术标签:
【中文标题】从 String 到 NSURL 的转换不断返回 nil【英文标题】:Conversion From String to NSURL constantly returns nil 【发布时间】:2015-09-22 22:05:10 【问题描述】:我正在尝试获取已添加到应用程序主包中的音频文件的路径。当我将路径打印为字符串时,它会正常打印。
但是,当我在转换后尝试打印相同的 NSURL 时,返回 nil
let audioPath: String = NSBundle.mainBundle().pathForResource("Test", ofType: "mp3")!
print(audioPath)
let audioPathURL: NSURL? = NSURL(string: audioPath)
print(audioPathURL)
【问题讨论】:
由于我的代表率低,无法添加图像,控制台 O/P 读取为:/Users/Supratik/Library/Developer/CoreSimulator/Devices/DEABF725-E10A-4090-87EA-15A2E0E87541/ data/Containers/Bundle/Application/19BDBDB2-AA46-402E-BE72-0BE47034D15A/Playing With Audio.app/Test.mp3 nil 您使用了错误的NSURL
初始化程序。使用需要文件路径而不是字符串的路径。
【参考方案1】:
您需要使用 filePath 特定的初始化程序
let audioPathURL: NSURL? = NSURL(fileURLWithPath: audioPath)
【讨论】:
【参考方案2】:文件系统中的 URL 必须使用 NSURL(fileURLWithPath:)
而不是 NSURL(string:)
方法初始化。
或者你使用NSBundle
的基于URL的方法
【讨论】:
以上是关于从 String 到 NSURL 的转换不断返回 nil的主要内容,如果未能解决你的问题,请参考以下文章