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

时间:2011-06-16 18:32:59

标签: objective-c ios

我试图使用一个简单的if条件来等同注释的标题,但它不起作用,任何人都可以告诉我在这里做错了什么,

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

当我打印标题时显示确定

NSLog(@" these are the titles %@",[annotation title]);

但是当我尝试使用if条件匹配它时它不起作用

任何帮助都将深受赞赏

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

3 个答案:

答案 0 :(得分:3)

使用isEqualToString:@"Parking"

所以替换为:

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

您必须将NSStrings与isEqualToString:方法进行比较:

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