Objective c 我试图使用if条件,但我无法让它在xcode中工作

Objective c 我试图使用if条件,但我无法让它在xcode中工作,objective-c,ios,Objective C,Ios,我试图用一个简单的if条件来表示注释的标题,但它不起作用。有人能告诉我我在这里做错了什么吗 if([annotation title] == @"Parking") { pin.pinColor = MKPinAnnotationColorPurple; } 当我打印标题时,它显示ok NSLog(@" these are the titles %@",[annotation title]); 但当我尝试使用if条件匹配它时,它不起作用 任何帮

我试图用一个简单的if条件来表示注释的标题,但它不起作用。有人能告诉我我在这里做错了什么吗

if([annotation title] == @"Parking")
        {
        pin.pinColor = MKPinAnnotationColorPurple;
        }
当我打印标题时,它显示ok

NSLog(@" these are the titles %@",[annotation title]);
但当我尝试使用if条件匹配它时,它不起作用

任何帮助都将不胜感激


提前感谢您提供的任何建议或帮助

您必须将NSString与
IsequalString:
方法进行比较:

if ([[annotation title] isEqualToString:@"Parking"])
    {
    pin.pinColor = MKPinAnnotationColorPurple;
    }

您必须将NSString与
IsequalString:
方法进行比较:

if ([[annotation title] isEqualToString:@"Parking"])
    {
    pin.pinColor = MKPinAnnotationColorPurple;
    }

使用
isEqualToString:@“停车场”

因此,替换为:

if([[annotation title] isEqualToString:@"Parking"])
{
    pin.pinColor = MKPinAnnotationColorPurple;
}

使用
isEqualToString:@“停车场”

因此,替换为:

if([[annotation title] isEqualToString:@"Parking"])
{
    pin.pinColor = MKPinAnnotationColorPurple;
}

当您使用
=
操作符对两个
NSString*
对象进行比较时,实际上是在比较它们的指针,而不是它们的值。如果要比较两个对象的值,则必须调用它们的
isEqual:
函数

if([[annotation title] isEqual: @"Parking"])
{
     pin.pinColor = MKPinAnnotationColorPurple;
}

当您使用
=
操作符对两个
NSString*
对象进行比较时,实际上是在比较它们的指针,而不是它们的值。如果要比较两个对象的值,则必须调用它们的
isEqual:
函数

if([[annotation title] isEqual: @"Parking"])
{
     pin.pinColor = MKPinAnnotationColorPurple;
}

我们是否可以像其他语言中的if(title==“parking”| | title==“car”)那样将多个值等同起来?当然可以。你可能想买这本书作为将来的参考:我们是否可以像其他语言中的if(title==“parking”| | title==“car”)那样等同于多个值?当然可以。您可能想购买本书以备将来参考: