我使用此代码比较两个字符串:
NSComparisonResult result = [cellTitle compare:searchText options:(NSCaseInsensitiveSearch && NSLiteralSearch)];
但是 xcode 显示有关使用逻辑 && 的警告,并提供使用按位 &,按位 & 比较不会返回正确的结果。
我该如何解决?
我使用此代码比较两个字符串:
NSComparisonResult result = [cellTitle compare:searchText options:(NSCaseInsensitiveSearch && NSLiteralSearch)];
但是 xcode 显示有关使用逻辑 && 的警告,并提供使用按位 &,按位 & 比较不会返回正确的结果。
我该如何解决?
您正在尝试组合位掩码的两个部分。您可以使用按位 OR 或 XOR 运算符,或为此添加|
-^
或+
。规范是|
.
你应该这样做:
NSComparisonResult result = [cellTitle compare:searchText
options:(NSCaseInsensitiveSearch | NSLiteralSearch)];
这些标志是只有一组 1 的二进制数。因此,当您执行逻辑 | 时,您会得到两者的“混合”(例如:1000 | 0100 => 1100),这样您就可以将多个标志设置为选项。