我试图使用一个简单的if条件来等同注释的标题,但它不起作用,任何人都可以告诉我在这里做错了什么,
if([annotation title] == @"Parking")
{
pin.pinColor = MKPinAnnotationColorPurple;
}
当我打印标题时显示确定
NSLog(@" these are the titles %@",[annotation title]);
但是当我尝试使用if条件匹配它时它不起作用
任何帮助都将深受赞赏
提前感谢您提出任何建议或帮助
答案 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;
}