0

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

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

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

我该如何解决?

4

2 回答 2

5

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

于 2012-07-04T17:07:05.183 回答
1

你应该这样做:

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

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

于 2012-07-05T02:46:33.187 回答