我收到警告无符号表达式的比较> = 0始终为真
在这一行:return status != nil && status.length >= 0 && status.length <= 140;
所以我不确定这听起来有多愚蠢,但是我应该删除那个表达式然后&gt;
谢谢!
答案 0 :(得分:10)
仅删除check的这一部分 - status.length&gt; = 0.实际上,这部分检查将由编译器优化并自动删除,因为它没有意义。从代码中删除它将帮助您摆脱此警告。
答案 1 :(得分:5)
是 - 因为length返回无符号整数,所以它总是'大于或等于0'。您可以删除条件的status.length&gt; = 0部分。
答案 2 :(得分:3)
如果您想确保没有零长度字符串,那么您应该使用条件status.length > 0
。
否则,您可以像其他人提到的那样删除该条件。
答案 3 :(得分:0)
您必须撰写一份永远无法执行的声明
我有这个,因为我做了这样的事情......
if (textField.text.length < 0) //wrong logic
textField的文本长度永远不会小于0。它必须至少为0。
每当编译器看到这种永远不可能(执行)的逻辑错误。它会产生这种警告。如果有人有这个错误,那么请检查你的逻辑。