下标[Swift]的调用中没有完全匹配的项

卡拉

在此下方,您可以看到我的代码。我注释了导致错误的行。错误消息:“下标调用中没有完全匹配”。您知道如何避免此错误吗?感谢您的帮助!

        let dic = ["a": 1, "b": 2, "c": 3, "d": 4, "e": 5, "f": 6, "g": 7, "h": 8, "i": 9, "j": 10, "k": 11, "l": 12, "m": 13, "n": 14, "o": 15, "p": 16, "q": 17, "r": 18, "s": 19, "t": 20, "u": 21, "v": 22, "w": 23, "x": 24, "y": 25, "z": 26]
        var newwrd = ""
        for var i in str ?? "" {
            let ci = dic[i]   // This line causes the error
        }
瓦迪安

其实你应该得到错误

无法使用类型为'String.Element'(又名'字符')的参数对类型为[[String:Int]'的值进行下标

str显然String?,枚举字符串时的元素类型为,Character但订阅类型必须为String

let dic = ["a": 1, "b": 2, "c": 3, "d": 4, "e": 5, "f": 6, "g": 7, "h": 8, "i": 9, "j": 10, "k": 11, "l": 12, "m": 13, "n": 14, "o": 15, "p": 16, "q": 17, "r": 18, "s": 19, "t": 20, "u": 21, "v": 22, "w": 23, "x": 24, "y": 25, "z": 26]
for i in str ?? "" { // no need for var i
   let ci = dic[String(i)] ?? 0
   print(ci)
}

如果字符串包含不在字典中的字符,则结果为0。


没有助手字典有更短的方法

for i in str ?? "" where ("a"..."z") ~= i {
    let ci = Int(i.asciiValue!) - 96
    print(ci)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Swift中对实例方法错误消息的调用中没有完全匹配的项

对初始化程序SwiftUI的调用中没有完全匹配的项

合并字符串数组 - 调用下标时没有完全匹配

调用 Text 的初始值设定项时没有完全匹配,如何在 SwiftUI 中解决此问题?

调用数组(Swift / SwiftUI)时,没有完全匹配的初始化程序

@AppStorage变量上的“初始化程序调用中没有完全匹配”错误?

快速调用初始化错误消息中没有完全匹配的内容

在 AppStorage 中初始化数据时调用初始化程序没有完全匹配

元素在课程中没有匹配项

在swift 3中输入any没有下标错误

JavaScript字符串包含完全匹配项,没有其他匹配项

即使没有匹配项,如何始终在receive()中调用方法

带有空数组的 Swift ui 选择器在调用初始化程序时没有完全匹配

调用初始化器没有完全匹配

rcpp中没有匹配的调用函数

弹性搜索中的数组中没有匹配项

在python中,如何“如果finditer(...)没有匹配项”?

连接表中没有匹配项的元素列表

在Swift中没有调用UIButton Action?

为什么标签中没有下标?

类型'Any'在Swift 3 Xcode 8中没有下标成员

Elasticsearch中的完全匹配项(包括空格)

在数组中包含完全匹配项

在具有不同大小和相似匹配项的字符串中查找完全匹配项

perl regex将所有匹配项(包括完全匹配项)放入一个数组中

没有匹配的调用函数

没有匹配的函数调用...?

Swift 3 - viewdidload 中的函数没有完全执行

调用 subscript 时没有完全匹配,如果我使用 forEach,则不起作用