NSString *part = self.navigationItem.title;
if (part == @"Case") {
NSLog(@"title: %@", part);
}
并且它不记录标题但是如果我:
NSLog(@"title: %@", part);
我明白了:
title: Case
这是我的错误吗?我确定没有空格。
感谢任何帮助。
答案 0 :(得分:4)
用于比较您必须使用的字符串isEqualToString
if ([part isEqualToString:@"Case"]) {
NSLog(@"title: %@", part);
}
答案 1 :(得分:0)
你不比较那样的字符串。
isEqualToString:
答案 2 :(得分:0)
尝试
if([part isEqualToString:@"Case"])
答案 3 :(得分:0)
在Obj-C对象上使用==
仅比较指针。这适用于任何obj-c对象。比较obj-c对象的标准方法是-isEqual:
,如
if ([oneObj isEqual:anotherObj]) ...
对于字符串,有一个名为-isEqualToString:
的专用版本,所以你可以说
if ([part isEqualToString:@"Case"]) ...
专门的函数主要用于更好的类型检查,因为参数必须是NSString*
,而-isEqual:
允许任何id
。除此之外,它的性能也比一般的-isEqual:
案例稍微高一些,但这几乎不重要。
其他一些类也有专门的比较函数,如-[NSData isEqualToData:]
,-[NSArray isEqualToArray:]
和其他一些类。