在 Xcode 中,我收到错误“字符串文字的直接比较具有未定义的行为”,我知道为什么会收到它,但是有什么方法可以让我单击一个按钮并让 Xcode 删除它吗?我这么说是因为在我的应用程序的 370 个地方我已经得到了它。
问问题
6047 次
2 回答
14
禁用此警告的 clang 选项是-Wno-objc-literal-compare
.
但是,警告是有原因的;这是因为==
不能保证与 NSString 文字比较 using 的行为与您预期的一样。使用isEqual:
orisEqualToString:
代替,您既可以摆脱此警告,又可以避免以后将其变成错误。
于 2013-04-27T05:59:09.767 回答
2
You can avoid the warning using `isEqualToString` instead of `==`.
`==` simply compares the pointers, which will usually be different even
if their contents are the same. The`isEqualToString` method compares
their contents.
于 2018-09-26T06:34:32.760 回答