参数类型 'String' 不符合预期类型 'Sequence'

Argument type 'String' does not conform to expect type 'Sequence'

我正在为 ios 开发一个应用程序,我正在尝试获取我定义的字典成员的每个字母:

var Morse = ["a": "01", "b": "1000", "c": "1010", "d": "100", "e": "0", "f": "0010", "g": "110", "h": "0000", "i": "00", "j": "0111", "k": "101", "l": "0100", "m": "11", "n": "10", "o": "111", "p": "0110", "q": "1101", "r": "010", "s": "000", "t": "1", "u": "001", "v": "0001", "w": "011", "x": "1001", "y": "1011", "z": "1100", "1": "01111", "2": "00111", "3": "00011", "4": "00001", "5": "00000", "6": "10000", "7": "11000", "8": "11100", "9": "11110", "0": "11111", " ": "2"]

例如,如果用户输入 a,我想得到“0”,然后是“1”。为此,我使用了一个计数器:

var counter = 0
var letter: String = ""
var strings_letter: String = ""
letter = Morse[strings_letter]!
var number = Array(letter)[counter]

但这给了我一个问题:

Argument type 'String' does not conform to expect type 'Sequence'

我做错了什么?

String 实例的 characters 属性 包含 String 中包含的字符序列。对于给定的键(例如 "a"),您可以将相应值 ("01") 的 .characters 重新映射到单字符 String 实例以获得 String数组:

if let charsForKeyA = Morse["a"]?.characters.map({ String([=10=]) }) {
    charsForKeyA.forEach { print([=10=]) }
} /* 0
     1 */

如果我没看错,你想得到一个字符数组作为插入键的值,根据你的例子,输出应该是这样的:

"a" => ["0", "1"]

"b" => ["1", "0", "0", "0"]

"c" => ["1", "0", "1", "0"]

等等...

var Morse = ["a": "01", "b": "1000", "c": "1010", "d": "100", "e": "0", "f": "0010", "g": "110", "h": "0000", "i": "00", "j": "0111", "k": "101", "l": "0100", "m": "11", "n": "10", "o": "111", "p": "0110", "q": "1101", "r": "010", "s": "000", "t": "1", "u": "001", "v": "0001", "w": "011", "x": "1001", "y": "1011", "z": "1100", "1": "01111", "2": "00111", "3": "00011", "4": "00001", "5": "00000", "6": "10000", "7": "11000", "8": "11100", "9": "11110", "0": "11111", " ": "2"]

let insertedKey = "a"

if let value = Morse[insertedKey] {
    let array = Array(value.characters)

    // here is your array!
    print(array) // ["0", "1"]
}