可能性の重複:
Comparing Strings in Cocoa
Why is this code not recognising the NSString as being equal?文字列の比較が真でないのはなぜですか?
私はNSUserDefaultsに "YES" を@に設定された値を持っています。私はこの方法を実行すると...コンソールに出力が
- (void) checkForHint {
NSLog(@"call:checkForHint");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSLog(@"valueForKeyInDefaults:%@",[defaults valueForKey:@"giveHint"]);
if ([defaults valueForKey:@"giveHint"] == @"YES") {
NSLog(@"need to give hint");
// replace a letter at random
int i=0;
bool found = NO;
while (!found && i<NUM_CHARACTERS_IN_LEVEL_STRING) {
NSLog(@"searching at index %i",i);
if ([buttons objectAtIndex:i] && 32==[[levelSavedSolutionArray objectAtIndex:i] intValue]) {
found = YES;
}
i++;
}
i--;
// We need to select all the buttons at this unsolved space
[self buttonClicked:[buttons objectAtIndex:i]];
// update the entries in all selected buttons
[self keyAct:[[levelStringArray objectAtIndex:i] intValue]];
}
}
です:私は助けることができるこの文イマイチが戻っている場合はtrue .. 誰もがそれが大幅になぜ理解しない
2012-03-28 23:11:41.799 (APPID) call:checkForHint
2012-03-28 23:11:41.800 (APPID) valueForKeyInDefaults:YES
感謝。 2つの文字列が同じ値を持つ異なるインスタンスであるため、私はその感情を持っていますが、これを修正する方法はわかりません。
カウンタ疑問使用し、その内容によって文字列を比較する必要がある場合は?:**なぜ '==' *文字列のために使用されている*比較**重複を検索し、あなたがそれらを見つけるでしょう。..どちらの場合でもObjective-C *には演算子のオーバーロードがありません。そのため、2つのNSObjectの* value equality *に対して確実に動作しない '=='があります。 –
申し訳ありません本当に何を検索するのか分かりません。文字列を比較する特定の方法はありますか? thanks – bkbeachlabs
"compare nsstrring"または "equals nsstring"を検索してください。 –