0
我必须将通常包含整数的字符串转换为Bool
类型的值。该规则将获得true
或任何非零值。但无效号码将导致false
。Swift 3:将数字字符串转换为Bool,对于无效值获取false
如果字符串总是有效号码,代码会是这样:
let stringValue = "1"
let boolValue = Int(stringValue) != 0
然而,这并不工作,如果stringValue
是空的,因为那时Int()
函数返回nil
,那就是不平等为0,因此当我想要false
时结果为true
。
什么是优雅在Swift 3中解决这个问题的方法?我喜欢避免使用if
子句的多余行。
注意:如果字符串只能包含“1”的true
值,则测试== 1
将是答案。但是我也想允许true
的其他非零值。换句话说,我喜欢有0以外的任何有效数字变成true
。
啊,哇。我不知道那个操作员。我真的应该付出努力,阅读整个Swift 3规范,而不是通过这样做来学习:)(尽管如此,还有很多事情要做,只有很短的时间!) –