0

このコードを使用して、2 つの文字列を比較します。

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

しかし、xcode は論理 && の使用に関する警告を表示し、ビットごとの & の使用を提案します。ビットごとの & による比較では正しい結果が返されません。

どうすれば修正できますか?

4

2 に答える 2

5

ビットマスクの 2 つの部分を結合しようとしています。ビットごとの OR または XOR 演算子、または this の追加を使用できます - |^または+. 標準は|.

于 2012-07-04T17:07:05.183 に答える
1

あなたがしているはずです:

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

これらのフラグは、1 セットが 1 つだけの 2 進数です。したがって、論理的な | を実行すると、両方の「混合」が得られ (例: 1000 | 0100 => 1100)、オプションとしていくつかのフラグを設定できます。

于 2012-07-05T02:46:33.187 に答える