swift - 在 Swift 中将 boolean 值转换为整数值

标签 swift swift3 integer boolean

我正在从 Swift 2 转换到 Swift 3。我注意到我无法在 Swift 3 中将 boolean 值转换为整数值。

let p1 = ("a" == "a") //true

print(true)           //"true\n"
print(p1)             //"true\n"

Int(true)             //1

Int(p1)               //error

例如,这些语法在 Swift 2 中运行良好。但在 Swift 3 中,print(p1) 会产生错误。

错误是错误:无法使用类型为“((Bool))”的参数列表调用类型“Int”的初始值设定项

我明白为什么会发生错误。谁能解释一下这种安全性的原因是什么以及如何在 Swift 3 中从 Bool 转换为 Int ?

最佳答案

您可以使用三元运算符将 Bool 转换为 Int:

let result = condition ? 1 : 0

如果条件为真,结果将为1,如果条件为假,则为0。

关于swift - 在 Swift 中将 boolean 值转换为整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40242702/

相关文章:

matlab - 如何将整数矩阵保存到 Matlab 中的文本文件中?

swift - addObject 发生多次相同?

ios - Swift:如何通过 Storyboard而不是使用 XLPagerTabStrip 以编程方式显示 subview Controller

performance - GPU上的整数计算

ios - 使用 Firebase 数据库、Swift 3 防止重复用户

swift - 为什么 "for (index, (a, b)) in dict.enumerated()"会产生错误?

c - C 中的递归函数(2 个子数组)

ios - 无法打开 NSError

swift - Firebase 规则 - 仅限于特定用户还是仅在获得授权的情况下?

ios - 如何在运行耗时函数时显示 Activity Indicator Alert Controller?