Ane*_*nce 1 objective-c bitwise-and swift
Swift 2限制了对Bool值使用按位运算符.这是令人愉快的.在ObjC中,当您需要执行每个操作数时使用它非常有用.例如:
a.isFoo() & b.isFoo() & c.isFoo()
Run Code Online (Sandbox Code Playgroud)
在这种情况下,使用按位&将执行每个方法.
如果我使用逻辑运算符&&,它将执行第一个运算符,如果它是false,表达式将返回false而不执行其他两个操作数.
我想找到同样优雅的方式与工作,与Bool斯威夫特.可能吗?
您在Objective-C中所做的并不"优雅".它很邋and,你不应该这样做.如果你想调用三种方法,只需调用这三种方法!但是形成一个布尔表达式,你应该使用逻辑运算符,而不是按位运算符.所以,例如:
let (ok1, ok2, ok3) = (a.isBool(), b.isBool(), c.isBool())
let ok = ok1 && ok2 && ok3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
395 次 |
| 最近记录: |