2012-03-30 2 views
0

HIコンソールからiPhoneで緯度と経度を取得するために、以下に示すように、私はコードを実装しているが、このコードを実行するときに例外を処理する方法について以下に例外を終了し、表示されている全て- [__ NSCFString JSONValue]:アプリケーションの終了時にインスタンスに送信された認識できないセレクタ?

- (CLLocationCoordinate2D) geoCodeUsingAddress: (NSString *) address 
{ 
    CLLocationCoordinate2D myLocation; 



    NSString *esc_addr = [address stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; 

    NSString *req = [NSString stringWithFormat: @"http://maps.google.com/maps/api/geocode/json?sensor=false&address=%@", esc_addr]; 

    NSDictionary *googleResponse = [[NSString stringWithContentsOfURL: [NSURL URLWithString: req] encoding: NSUTF8StringEncoding error: NULL] JSONValue]; 

    NSDictionary *resultsDict = [googleResponse valueForKey: @"results"]; 
    NSDictionary *geometryDict = [resultsDict valueForKey: @"geometry"];  
    NSDictionary *locationDict = [geometryDict valueForKey: @"location"];  
    NSArray *latArray = [locationDict valueForKey: @"lat"]; 
    NSString *latString = [latArray lastObject]; 
    NSArray *lngArray = [locationDict valueForKey: @"lng"]; 
    NSString *lngString = [lngArray lastObject];  

    myLocation.latitude = [latString doubleValue];  
    myLocation.longitude = [lngString doubleValue]; 

    NSLog(@"lat: %f\tlon:%f", myLocation.latitude, myLocation.longitude); 
    return myLocation; 
} 

エラー:

[1055:11603] -[__NSCFString JSONValue]: unrecognized selector sent to instance 0xabcc200 
[1055:11603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString JSONValue]: unrecognized selector sent to instance 0xabcc200' 
*** First throw call stack: 
(0x16ee052 0x13d9d0a 0x16efced 0x1654f00 0x1654ce2 0x25a5 0x248f 0x16efec9 0x3945c2 0x39455a 0x439b76 0x43a03f 0x4392fe 0x3b9a30 0x3b9c56 0x3a0384 0x393aa9 0x1de4fa9 0x16c21c5 0x1627022 0x162590a 0x1624db4 0x1624ccb 0x1de3879 0x1de393e 0x391a9b 0x1dcd 0x1d45) 
terminate called throwing an exception(lldb) 
+0

こんにちは私は、アプリケーションを自動的に終了し、メッセージを与えているとき – laxmanperamalla

+0

com.yourcompany.SimpleMapViewをブートストラップサーバーに登録できませんでした。エラー:不明なエラーコード。 これは一般に、このプロセスの別のインスタンスが既に実行されていたか、デバッガにハングしていることを意味します。(lldb) – laxmanperamalla

答えて

2

あなたはおそらくあなたのJSONライブラリを含めるのを忘れてとNSString JSONValueカテゴリがありません。あなたは基本的にNSStringのインスタンスにJSONValueメッセージを送信している

-1

は、そのアプリケーションが、ここで、クラッシュした理由です:

NSDictionary *googleResponse = [[NSString stringWithContentsOfURL: [NSURL URLWithString: req] encoding: NSUTF8StringEncoding error: NULL] JSONValue]; 
0

開発版のバグのように見えます。 from here

関連する問題