gpt4 book ai didi

objective-c - Route-Me TapOnMarker hideLabel 不会隐藏所有其他标记标签,但会崩溃

转载 作者:行者123 更新时间:2023-11-29 04:18:20 25 4
gpt4 key购买 nike

我似乎在隐藏路线标记时遇到了一些麻烦。它们似乎显示得很好,但如果我尝试用 for 循环隐藏它们,它似乎会崩溃。这是我所拥有的:

- (void) tapOnMarker: (RMMarker*) marker onMap: (RMMapView*) map{
NSArray* markers = mapView.markerManager.markers;
for(RMMarker *mk in markers) {
[mk hideLabel];
}
[marker showLabel];
}

理论上,for 循环应该循环遍历标记管理器中的所有标记并隐藏它们,但它会崩溃并显示以下错误消息:

-[RMMapLayer hideLabel]: unrecognized selector sent to instance 0x83f7680
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RMMapLayer hideLabel]: unrecognized selector sent to instance 0x83f7680'
*** First throw call stack:
(0x1b91012 0x1959e7e 0x1c1c4bd 0x1b80bbc 0x1b8094e 0x4afa 0x6978a 0x8d433f 0x8d4552 0x8b23aa 0x8a3cf8 0x256bdf9 0x256bad0 0x1b06bf5 0x1b06962 0x1b37bb6 0x1b36f44 0x1b36e1b 0x256a7e3 0x256a668 0x8a165c 0x2b75 0x2a75)
libc++abi.dylib: terminate called throwing an exception

仔细查看此错误消息,我确实注意到一些事情,为什么它调用 RMMapLayer? hideLabel 函数位于 RMMarker 类中。我特别将其写为“RMMarker *mk inmarkers”。我在这里做错了什么?提前感谢您提供的任何帮助。

最佳答案

在 for 循环中尝试这样的事情:

 if ([mk isKindOfClass:[RMMarker class]])
[mk hideLabel];
else
NSLog(@"We have a different class here: %@", [mk class]);

您还可以使用“respondsToSelector”方法来阻止它......

关于objective-c - Route-Me TapOnMarker hideLabel 不会隐藏所有其他标记标签,但会崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13351131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com