将二元运算符与 unichar 和 String 结合使用

Using binary operator with unichar and String

我正在尝试使用二元运算符来比较两个值:

character = (xxx as NSString).characterAtIndex(2)
if character == "1" {
    //do this thingy   
}

现在我收到失败消息二元运算符“==”无法应用于单字符或字符串类型的操作数。 我也尝试过转换字符:

if String(character) == "1" 

不起作用...

由于unichar是一个16位整数的别名,你需要"wrap"它在UnicodeScalar函数中进行比较:

if UnicodeScalar(character) == "1" {
    //do this thingy   
}

这是另一种方法。更改从 String:

获取 character 的方式
let xxx = "321"
let character = xxx[advance(xxx.startIndex, 2)]
if (character == "1") {
    println("it is a 1")
}

输出:

"it is a 1"