2013-08-05 54 views
0

我有一個問題,我無法理解,我正在使用一個庫來使用Map開源地圖(https://github.com/route-me/route-me),該示例完美地工作,並且我相信不會被連接到代碼,我相信這是在配置中的東西。 那麼什麼情況是,如果我做以下電話:NSInvalidArgumentException isKindOfClass

RMMarkerManager *markerManager = [mapView markerManager]; 

我得到那個說UIView類沒有方法markerManager錯誤:

2013年8月5日17:18: 33.573 MapOffline [1310:907] 終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因是: ' - [UIView的markerManager]:無法識別的選擇發送到實例0x1d88fbb0' *

沒有entanto,SE歐盟adicionar一個組件驗證, OC ódigofunciona perfeitamente:

if ([mapView isKindOfClass:[RMMapView class]]) { 
    RMMarkerManager *markerManager = [mapView markerManager]; 
} 

樣本項目沒有此驗證和作品,有人能告訴我什麼可以? 無論何時使用此類的方法,驗證都不是很好的做法。

注意:RMMarkerManager類繼承自UIView。


在我的情況發生了什麼事情是我沒有參考項目中使用的一些圖像在示例中。 我真的不知道在一個項目中添加了什麼圖像後,又有什麼需要做的事情,一切都很完美。 我保證我沒有做任何其他更改。

我的.xib總是按照它應該的配置和引用所有東西。

我不明白爲什麼這是更多這是我的解決方案。

: -/

+1

你是怎麼設置你的mapView的?以編程方式(在代碼中)或通過xib或故事板文件? –

+0

如果您使用了故事板,那麼您需要將視圖的「自定義類」(在身份檢查器面板中)設置爲RMMapView。否則,故事板不會知道爲您的視圖實例化哪個類。 –

+0

是的......這就是我想要說的答案,如果玻利瓦爾遵循我的評論。既然它也在你的腦海裏,我會讓你把它放在下面。 –

回答

1

如果您使用了故事板,那麼你需要設置你的視圖的「自定義類」(在身份檢查面板)是RMMapView。否則,故事板不會知道爲您的視圖實例化哪個類。

example of setting custom class

+0

先生們,我的xib已正確配置....請注意,當我添加驗證時,代碼會識別該類。無論如何,它執行驗證中的代碼....另請注意,該項目由一個包含類RMMarkerManager的子項目組成。它不需要任何其他配置? –

+0

我想知道是否需要在項目設置中將-ObjC和-all_load添加到「其他鏈接器標誌」中。 –