Swift 2中的等效类型布尔值

时间:2015-11-08 14:47:19

标签: swift boolean swift2 xcode7

我试图将下面的行从Swift转换为Swift 2

var cfstatus = CFWriteStreamOpen(stream) as Boolean

// connection fail
if cfstatus == 0 {
    println("Not connected")
    return
}

在Swift 2中没有'布尔'类型。 我试过用Bool'但这给了一个错误:

Binary operator == cannot be applied to operands of type Bool and Int

2 个答案:

答案 0 :(得分:0)

Bool是正确的类型;

上述与Boolean的比较失败,因为操作数具有不同的类型(在本例中为==Bool)。试试这个:

Int

答案 1 :(得分:0)

CFWriteStreamOpen的签名是

public func CFWriteStreamOpen(stream: CFWriteStream!) -> Bool

不需要任何类型转换。

let cfstatus = CFWriteStreamOpen(stream)
// connection fail
if cfstatus == false { // or if !cfstatus {
    println("Not connected")
    return
}

Xcode通过 - 点击符号提供简单的声明查找。

您收到错误消息是因为您试图将Bool(cfstatus)与Swift中禁止的Int(0)进行比较。