关于使用逻辑&&的警告介于iPhone之间的常数

时间:2012-07-04 17:05:41

标签: ios objective-c iphone xcode warnings

我使用此代码比较两个字符串:

NSComparisonResult result = [cellTitle compare:searchText options:(NSCaseInsensitiveSearch && NSLiteralSearch)];

但是xcode显示有关使用逻辑&&amp ;;的警告并提供按位&amp ;,按位和&比较不会返回正确的结果。

我该如何解决?

2 个答案:

答案 0 :(得分:5)

您正在尝试组合位掩码的两个部分。您可以使用按位OR或XOR运算符,或者为此添加 - |^+。标准是|

答案 1 :(得分:1)

你应该这样做:

 NSComparisonResult result = [cellTitle compare:searchText 
                            options:(NSCaseInsensitiveSearch | NSLiteralSearch)];

这些标志是二进制数,只有一组。因此,当您执行逻辑|时,您将获得两者的“混合”(例如:1000 | 0100 => 1100),这样您就可以将多个标志设置为选项。