我正在查看另一个开发人员提交给项目的差异,他们有很多代码可以执行 !!<some BOOL value>
.事实上,这似乎是他们实现 boolean getter 和 setter 的标准模式。他们已经实现了他们的代码:
- (BOOL) hasId {
return !!hasId_;
}
- (void) setHasId:(BOOL) value {
hasId_ = !!value;
}
我以前从未见过这种模式,想知道使用它是否有任何好处。双重否定有什么用吗?
最佳答案
双 boolean 运算符只是确保返回的值是 1 或 0。仅此而已:)
关于Objective-C - !!BOOL 有益,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6672368/