NSString *part = self.navigationItem.title;
if (part == @"Case") {
NSLog(@"title: %@", part);
}
タイトルはログに記録されませんが、次の場合は次のようになります。
NSLog(@"title: %@", part);
私は得る:
title: Case
これは私のエラーですか?確かにスペースはありません。
どんな助けでも大歓迎です。
NSString *part = self.navigationItem.title;
if (part == @"Case") {
NSLog(@"title: %@", part);
}
タイトルはログに記録されませんが、次の場合は次のようになります。
NSLog(@"title: %@", part);
私は得る:
title: Case
これは私のエラーですか?確かにスペースはありません。
どんな助けでも大歓迎です。
文字列を比較するには、使用する必要がありますisEqualToString
if ([part isEqualToString:@"Case"]) {
NSLog(@"title: %@", part);
}
そのような文字列を比較することはありません。
isEqualToString:
試す
if([part isEqualToString:@"Case"])
Obj-Cオブジェクトで使用==
すると、ポインターのみが比較されます。これは、すべてのobj-cオブジェクトに当てはまります。obj-cオブジェクトを比較する標準的な方法は-isEqual:
、次のようにです。
if ([oneObj isEqual:anotherObj]) ...
文字列の場合、と呼ばれる特殊なバージョンが-isEqualToString:
あるので、次のように言うことができます
if ([part isEqualToString:@"Case"]) ...
NSString*
引数はwhileである必要があるため、特殊な関数はほとんどの場合、型チェックを改善するために提供されてい-isEqual:
ますid
。それを除けば、一般的な場合よりもわずかにパフォーマンスが向上しますが、-isEqual:
それはほとんど問題になりません。
他のいくつかのクラスには、、、および他の多数のような特殊な比較関数もあり-[NSData isEqualToData:]
ます-[NSArray isEqualToArray:]
。