このコードを使用して、2 つの文字列を比較します。
NSComparisonResult result = [cellTitle compare:searchText options:(NSCaseInsensitiveSearch && NSLiteralSearch)];
しかし、xcode は論理 && の使用に関する警告を表示し、ビットごとの & の使用を提案します。ビットごとの & による比較では正しい結果が返されません。
どうすれば修正できますか?
このコードを使用して、2 つの文字列を比較します。
NSComparisonResult result = [cellTitle compare:searchText options:(NSCaseInsensitiveSearch && NSLiteralSearch)];
しかし、xcode は論理 && の使用に関する警告を表示し、ビットごとの & の使用を提案します。ビットごとの & による比較では正しい結果が返されません。
どうすれば修正できますか?
ビットマスクの 2 つの部分を結合しようとしています。ビットごとの OR または XOR 演算子、または this の追加を使用できます - |
、^
または+
. 標準は|
.
あなたがしているはずです:
NSComparisonResult result = [cellTitle compare:searchText
options:(NSCaseInsensitiveSearch | NSLiteralSearch)];
これらのフラグは、1 セットが 1 つだけの 2 進数です。したがって、論理的な | を実行すると、両方の「混合」が得られ (例: 1000 | 0100 => 1100)、オプションとしていくつかのフラグを設定できます。