/ / Swift 4 nie odbiera pojedynczych cudzysłowów („” ”) w przełączniku - swift, switch-statement, swift4

Swift 4 nie pobiera pojedynczych cudzysłowów ("" ") w switch - swift, switch-statement, swift4

Niedawno pobrałem wersję beta Xcode i piszę w swift 4.

Stworzyłem przełącznik tak:

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

Chcę być w stanie wpisać ”i uzyskać 27. Jak to zrobić?

Edytować: Mam też przycisk:

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

Odpowiedzi:

1 dla odpowiedzi № 1

Działa to przy użyciu Xcode 9 Beta i Swift 4 w Playground. Spróbuj tego:

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

-1 dla odpowiedzi № 2

Częściowa poprawka:

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