簡體   English   中英

Route-Me TapOnMarker hideLabel不會隱藏所有其他標記標簽,但會崩潰

[英]Route-Me TapOnMarker hideLabel won't hide all other marker labels but crashes

我似乎在隱藏路由我標記方面遇到了一些麻煩。 它們似乎顯示良好,但是如果我嘗試使用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”。 我在這里做錯了什么? 在此先感謝您提供的任何幫助。

在您的for循環中嘗試以下操作:

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

您也可以使用“ respondsToSelector”方法來防止它...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM