-2

我最近下载了 Xcode 测试版并正在使用 swift 4 进行编码。

我创建了一个这样的开关:

func key(cipher: Character) -> Int{
        let someCharacter: Character = cipher
        switch someCharacter {
        case "\'":
            return 27
        case "\"":
            return 28 
        default:
            return -1  //error
        } 
}

我希望能够输入 ' 并得到 27。我该怎么做?

编辑:我还有一个按钮:

@IBAction func encrypt(_ sender: Any) { 
    inputedValues = String(input.text!)!
    let index = inputedValues.index(inputedValues.startIndex, offsetBy: 1)
        var number = key(cipher: inputedValues[index]) }
4

2 回答 2

1

这在 Playground 中使用 Xcode 9 Beta 和 Swift 4 有效。尝试这个:

func key(_ cipher: Character) -> Int{
    let someCharacter: Character = cipher
    switch someCharacter {
    case "'":
        return 27
    default:
        return -1  //error
    }
}

let input = "1'"
let index = input.characters.index(input.startIndex, offsetBy: 1)
let cipher = input[index] // Returns second character

key(cipher) //Output is 27
于 2017-06-14T08:38:42.927 回答
-1

部分修复:

func key(cipher: Character) -> Int{
        let someCharacter: Character = cipher
        switch someCharacter {
        case "’": //not "\'" or "'"
            return 27
        case "\"":
            return 28 
        default:
            return -1  //error
        }
}
于 2017-06-14T10:11:11.833 回答