我想更改通过"检索的部分信息;。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
}