gpt4 book ai didi

ios - 无法使用类型为 'NSURL' 的参数列表调用类型为 '(fileURLWithPath: NSURL)' 的初始值设定项

转载 作者:行者123 更新时间:2023-11-28 13:06:18 27 4
gpt4 key购买 nike

我为 Swift 2 升级了我的代码,这里出现错误:

无法使用 (fileURLWithPath: NSURL) 类型的参数列表调用类型 NSURL 的初始化程序

代码如下:

    let dirPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let docsDir = dirPaths[0]
let soundFilePath = NSURL(fileURLWithPath: docsDir).URLByAppendingPathComponent("sound.caf")
let soundFileURL = NSURL(fileURLWithPath: soundFilePath)
//The error goes here.

最佳答案

fileURLWithPath 的语法:

public init(fileURLWithPath path: String)

这意味着它只接受 String 作为参数。您将 NSURL 作为参数传递。

你可以这样解决:

let dirPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let docsDir = dirPaths[0]
let soundFilePath = (docsDir as NSString).stringByAppendingPathComponent("sound.caf")
let soundFileURL = NSURL(fileURLWithPath: soundFilePath)

如果你想使用这里是扩展:

extension String {

func stringByAppendingPathComponent(path: String) -> String {

return (self as NSString).stringByAppendingPathComponent(path)
}
}

你可以这样使用它:

let soundFilePath = docsDir.stringByAppendingPathComponent("sound.caf")
let soundFileURL = NSURL(fileURLWithPath: soundFilePath)

关于ios - 无法使用类型为 'NSURL' 的参数列表调用类型为 '(fileURLWithPath: NSURL)' 的初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32665508/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com