我试图将下面的行从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
答案 0 :(得分:0)
Bool
是正确的类型; 1}}默认不存在。
上述与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)进行比较。