私は、インターネットの可用性を確認するために、クラスの1つにcheckInternetメソッドがあるプロジェクトに取り組んでいます。そのメソッドでは、次のコードがあります。
以下の行のコードでは 、このブロックのコード(フラグ&& kSCNetworkFlagsReachable)に対して「定数オペランドで論理&&を使用する」という警告が表示されます。
BOOL isavailable = NO;
Boolean success;
isavailable = success && (flag && kSCNetworkFlagsReachable) && !(flag & kSCNetworkFlagsConnectionRequired);
そして、解決策として、「ビット単位のオペランドに&を使用する」というオプションを提供するxcodeを使用すると、そのようになり、警告が削除されます。しかし、論理演算子がどのように機能していたか知りたいですか?なぜビット単位に変更するように指示されているのですか?