我正在为我的班级制作一个分贝测量应用程序,我一直被一个不断出现的错误所困扰:'模糊地使用appendingPathComponent'。这是问题发生的地方:
//设置音频文件的URL
var documents: AnyObject = NSSearchPathForDirectoriesInDomains( FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)[0] as AnyObject
var str = documents.appendingPathComponent("recordTest.caf")
var url = NSURL.fileURL(withPath: str as String)
错误发生在这里:
var str = documents.appendingPathComponent("recordTest.caf")
我似乎无法解决这个问题。
帮助, 保罗
答案 0 :(得分:1)
为什么要将documents
投射到AnyObject
?摆脱它。
但是,由于appendingPathComponent
是NSString
,NSURL
或URL
的方法,因此会出现新问题。但documents
是String
。
为什么要使用NSURL
代替URL
?
由于您的目标是获得URL
,因此请使用FileManager
更直接的方法:
let docURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
let url = docURL.appendingPathComponent("recordTest.caf")