私は経験豊富なプログラマーなので、この不可解な振る舞いは私にとって完全な謎です。
正確に2つのブール変数がである場合にのみ入力する必要がある単純なif
ステートメントがあります。ただし、-ステートメントは、そのうちの1つだけがである場合に何らかの理由で入力されます。false
if
false
私のコードは次のようになります。
BOOL connected = [self connected];
NSLog(@"Connected to the internet: %@", connected ? @"YES" : @"NO");
BOOL notConnectedMessageShown = ((FOLDAppDelegate *)[[UIApplication sharedApplication] delegate]).notConnectedMessageShown;
NSLog(@"notConnectedMessageShown: %@", notConnectedMessageShown ? @"YES" : @"NO");
if (!connected && !notConnectedMessageShown);
{
NSLog(@"Entering if statement");
}
そして、NSLog
次のように印刷します。
"Connected to the internet: YES"
"notConnectedMessageShown: NO"
"Entering if statement"
本当にわかりません。最初の変数はそもそもあるので、プログラミングスキルに応じてステートメントtrue
全体をスキップする必要がありますか?if
誰かがここで何が起こっているのか考えていますか?