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 对象的标准方法是 with -isEqual:
,如
if ([oneObj isEqual:anotherObj]) ...
在字符串的情况下,有一个专门的版本叫做-isEqualToString:
,所以你可以说
if ([part isEqualToString:@"Case"]) ...
专门的函数主要是为了更好的类型检查NSString*
而提供的,因为参数必须是一个 while-isEqual:
允许 any id
。除此之外,它的性能也会比一般-isEqual:
情况稍微高一点,但这几乎不重要。
其他一些类也有专门的比较函数,比如-[NSData isEqualToData:]
,-[NSArray isEqualToArray:]
和许多其他类。