2017-10-30 13 views
0

私のマップにピンを表示するためにgoogle APIを使用しています。このため私は、マップがロードされるときに私のマップから私のピンを私のマップにフェッチすることを示すviewDidLoadメソッドのメソッドを呼び出します。私はこのような私の方法、IOSでメソッドを呼び出す際にエラーが発生しました

[self performSelector:@selector(pinn:)]; 

呼び出しがあるが、私は、それは誤りとアプリがクラッシュを示すマップを開いたとき、それはそう来ている理由を、私は知りません。

enter image description here

+0

あなたのJosnDataはnilで、その後アプリケーションがクラッシュします。だからこのメソッドを呼び出す前に辞書を渡してください。フローコードを使用する NSDictionary * JsonData = [NSDictionary dictionaryWithObject:@ "クラッシュストップforKey:@"テスト "]; [self performSelector:@セレクタ(pinn:JsonData)]; –

答えて

0

ここでは、このメソッドを呼び出している間JsonDataを渡す必要があります。 pinn:メソッドにパラメータがあるためです。 GoogleのAPIレスポンスの成功の中でこのメソッドを呼び出す必要があります。そして、このように呼び出す:

[self pinn:<YOUR_JSON_DATA>] 

<YOUR_JSON_DATA>は、あなたが電話してGoogleからのピンを取得したいAPIからの応答することができます。

+0

私はそれを前に呼び出すので、どうすればjsonDataを先に取得できますか? @Antony Raphel – Haider

+0

ここからピンを取得していますか? –

+0

私はメソッドの呼び出しの上にviewDidloadの静的配列を持っています。 @Antony Raphel – Haider

0

あなたのJosnDataは、アプリケーションがクラッシュしたという理由でゼロになっていました。 このメソッドを呼び出して辞書を渡すので、流れるコードを使用します。

NSDictionary * JsonData = [NSDictionary dictionaryWithObject: @"My lat and long" forKey: @"data"]; // Here pass your Jsondata dictionary. 
[self performSelector:@selector(pinn:JsonData)]; // Or pass here your dictionary. 
関連する問題