Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 多个批注无法获取选定的索引批注_Iphone_Objective C_Mkannotationview - Fatal编程技术网

Iphone 多个批注无法获取选定的索引批注

Iphone 多个批注无法获取选定的索引批注,iphone,objective-c,mkannotationview,Iphone,Objective C,Mkannotationview,我在iphone应用程序的mapView中成功显示了多个注释,但我也遇到了问题。。在屏幕顶部,我有两个选项卡映射和列表。地图显示地图中的所有注释,列表显示地图中显示的Tableview中的数据。当我点击特定单元格时,我会得到该单元格的所有特定细节。但当我尝试从点击注释获取id时,我的数组在比较名称后会获得大量id,因为我的数组列表中有相同的名称,所以我如何区分注释标记。如何设置批注的标记 在callout访问控制点击delegate方法中,使用view.annotation访问点击的注释 如果您

我在iphone应用程序的mapView中成功显示了多个注释,但我也遇到了问题。。在屏幕顶部,我有两个选项卡映射和列表。地图显示地图中的所有注释,列表显示地图中显示的Tableview中的数据。当我点击特定单元格时,我会得到该单元格的所有特定细节。但当我尝试从点击注释获取id时,我的数组在比较名称后会获得大量id,因为我的数组列表中有相同的名称,所以我如何区分注释标记。如何设置批注的标记

callout访问控制点击
delegate方法中,使用
view.annotation
访问点击的注释

如果您有一个自定义注释类,则可以将其强制转换为易于访问属性(您可能还希望首先检查注释是否是您感兴趣的类的实例——如果您使用多个注释类,这一点很重要):


calloutAccessoryControlTapped
委托方法中,使用
view.annotation
访问已点击的注释

如果您有一个自定义注释类,则可以将其强制转换为易于访问属性(您可能还希望首先检查注释是否是您感兴趣的类的实例——如果您使用多个注释类,这一点很重要):


请显示“尝试从注释中获取id”的代码。您是否检测到didSelectAnnotationView或callout附件中的点击?您定义了自定义批注对象吗?我正在使用calloutAccessoryControlTapped方法点击批注。从annotation.title我获得了该批注的正确id,但当我的数组与我比较的名称相同时,我得到了该批注的多个索引,并且在该委托方法中我没有获得该批注的相应详细信息,是否
view.annotation
为您提供点击的批注?view.annotation为我提供了响应类型。请在“尝试从点击的批注获取id”的位置显示代码。您是否检测到didSelectAnnotationView或callout附件中的点击?您定义了自定义批注对象吗?我正在使用calloutAccessoryControlTapped方法点击批注。从annotation.title我获得了该批注的正确id,但当我的数组与我比较的名称相同时,我得到了该批注的多个索引,并且在该委托方法中我没有获得该批注的相应详细信息,是否
view.annotation
为您提供所点击的批注?view.annotation为我提供了响应类型。
if ([view.annotation isKindOfClass:[TagMark class]]) {
    TagMark *tm = (TagMark *)view.annotation;
    NSLog(@"tm.someProperty = %@", tm.someProperty);
}