0

理解できなかった問題があります。Map Open Source Map ( https://github.com/route-me/route-me ) を使用するためのライブラリを使用しています。例は完全に機能し、私は信じていますコードに接続されているものではなく、構成にあるものだと思います。さて、次の呼び出しを行うとどうなりますか:

RMMarkerManager *markerManager = [mapView markerManager];

UIView クラスにメソッド markerManager がないというエラーが表示されます。

2013-08-05 17:18:33.573 MapOffline[1310:907]キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '-[UIView markerManager]: 認識されないセレクターがインスタンス 0x1d88fbb0 に送信されました' *

No entanto, se eu adicionar a validação, o codigo funciona perfeitamente:

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

サンプル プロジェクトにはこの検証がなく、動作します。誰か教えてください。このクラスのメソッドを使用するたびに検証することはお勧めできません。

注: RMMarkerManager クラスは UIView を継承しています。


私の場合、例のプロジェクトで使用されていたいくつかの画像を参照していませんでした。プロジェクトに画像を追加した後、すべてが完全に機能しました。私は、他の変更を行っていないことを保証します。

私の .xib は、常にすべてを構成して参照していました。

なぜこれが私の解決策だったのか理解できません。

:-/

4

1 に答える 1

1

ストーリーボードを使用した場合は、ビューの「カスタム クラス」(ID インスペクター パネル内) を RMMapView に設定する必要があります。そうしないと、ストーリーボードは、ビューに対してインスタンス化するクラスを認識できません。

カスタムクラスの設定例

于 2013-08-05T21:00:18.893 に答える