10

在 Xcode 中,我收到错误“字符串文字的直接比较具有未定义的行为”,我知道为什么会收到它,但是有什么方法可以让我单击一个按钮并让 Xcode 删除它吗?我这么说是因为在我的应用程序的 370 个地方我已经得到了它。

4

2 回答 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 回答