ios – 如何比较@NO和@YES与优雅,没有误报否定的风险?

ios – 如何比较@NO和@YES与优雅,没有误报否定的风险?,第1张

概述我想使用bool文字 if (condition == @NO) {}else if (condition == @YES) {{ 当我尝试这个时,XCode希望我使用NSNumber方法进行比较,比如isEqualTo.有没有更简单的方法(没有isEqualTo)?如果我不能,我应该使用isEqualTo,isEqualToValue还是isEqualToNumber? 条件是什么?它 我想使用bool文字
if (condition == @NO) {}else if (condition == @YES) {{

当我尝试这个时,XCode希望我使用NSNumber方法进行比较,比如isEqualTo.有没有更简单的方法(没有isEqualTo)?如果我不能,我应该使用isEqualTo,isEqualTovalue还是isEqualToNumber?

解决方法 条件是什么?它是BOol还是NSNumber?

如果condition是BOol,那么你根本不想使用@NO或@YES.你想说

if (condition) // test if condition is trueif (!condition) // test if condition is falseif (condition == NO) // same as prevIoUs,based on personal preference

请注意,你永远不应该说

if (condition == YES)

因为BOol实际上并不限制为0和1作为值,它可以在char中保存任何内容,因此如果条件意外地保持,例如3,则if(condition)和if(condition == YES)将表现不同.

如果condition是NSNumber,那么你仍然不想使用@NO和@YES.您只想使用-boolValue将其转换为BOol,如

if ([condition boolValue]) // test if condition is trueif (![condition boolValue]) // test if condition is falseif ([condition boolValue] == NO) // same as prevIoUs,based on personal preference

这里的基本要点是,不要使用@NO和@YES文字进行比较.它毫无意义,而且不够优雅,因为你能用它们做的就是将它们转换回BOol.

总结

以上是内存溢出为你收集整理的ios – 如何比较@NO和@YES与优雅,没有误报/否定风险?全部内容,希望文章能够帮你解决ios – 如何比较@NO和@YES与优雅,没有误报/否定的风险?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1109376.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存