如何在Swift 4.1中使用NSURL:setResourceValues()?

时间:2018-09-10 21:23:29

标签: ios swift

所有使用setResourceValues()的示例如下:

var resourceValues = URLResourceValues()
resourceValues.isExcludedFromBackup = true
try? path?.setResourceValues(resourceValues)

然而,这不能在Swift 4.1中编译,错误是

  

无法将“ URLResourceValues”类型的值转换为预期参数   键入“ [URLResourceKey:任意]”

如何将URLResourceValues转换为[URLResourcesKey:Any]?

1 个答案:

答案 0 :(得分:0)

您正在尝试在URL的实例上调用NSURL的方法。

NSURL定义:

func setResourceValues(_ keyedValues: [URLResourceKey : Any]) throws

URL定义:

func setResourceValues(_ values: URLResourceValues) throws

由于您使用的是Swift,因此请勿使用NSURL。更新您的代码,使path的类型为URL而不是NSURL,并且对setResourceValues的调用将起作用。