Swift-将URLResourceValue强制转换为String以修改.tagNames



我想更改通过"检索的部分信息;。resourceValues(forKeys:[.tagNamesKey]",但我找不到将结果(URL resourceValue(转换为字符串(通过解码(的正确方法。有人能帮我吗?谢谢

do
{
let srcURL : URL = nsurl2 as URL
let pastilleSousRp = try srcURL.resourceValues(forKeys: [.tagNamesKey])
let test = String(decoding: pastilleSousRp.tagNames, as: UTF8)
if ((pastilleSousRp.tagNames?.contains("Specific tagname")) != nil)
{...}
}catch{continue}

错误是:;表达式的类型在没有更多上下文的情况下是模糊的";(用于测试(。

pastilleSousRp.tagNames[String]?

所以你只想:

if let tagNames = pastilleSousRp.tagNames, tagNames.contains("Text") {
//Do your thing 
}

或者,你也可以做:

let tagNames = pastilleSousRp.tagNames ?? []
if tagNames.contains("Text") {
//Do your thing 
}

以较短的方式:

if (pastilleSousRp.tagNames ?? []).contains("Text") {
//Do your thing 
}

最新更新