Objective-C - !!BOOL 有益

标签 objective-c boolean design-patterns

我正在查看另一个开发人员提交给项目的差异,他们有很多代码可以执行 !!<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/

相关文章:

java - boolean 表达式编译错误

ios - 向现有本地化应用程序添加新语言

objective-c - 如何在 Objective-C 中创建一个空数组,并为它一个一个赋值?

ios - Facebook iOS Graph API 事件

haskell - 为什么我不能在这里放一个打印函数语句?

java - 具有静态工厂方法或构造函数的工厂模式

ios - 将 UILabel 位置更改为 CGPath 的 strokeEnd

python - 在 Python 中从字符串转换为 boolean 值

c++ - 在 C++ 中存储 JSON 对象的设计模式是什么?

design-patterns - 实用程序类是邪恶的吗?