无法识别的选择器已发送到实例

无法识别的选择器已发送到实例

我在程序中使用JSONKit解析google place api,但我的应用因以下错误而崩溃
-[NSURL _CFURLRequest]:无法识别的选择器已发送到实例

     NSString* URL = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/json?location=28.632808,77.218276&radius=500&types=atm&sensor=false&key=AIzaSyDHft2g5IDshIpXS17uOtZzkqGGgj-p1RQ"];

NSError* error = nil;
NSURLResponse* response = nil;


NSURLRequest *URLReq = [NSURL URLWithString:URL];
//[request setURL:URL];
//[request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
//[request setTimeoutInterval:30];

NSData* data = [NSURLConnection sendSynchronousRequest:URLReq returningResponse:&response error:&error];

if (error)
{
    NSLog(@"Error performing request %@", URL);
    NSLog(@"%@", [error localizedDescription]);
    return;
}

NSDictionary *json = [data objectFromJSONData];

NSArray *places = [json objectForKey:@"results"];


NSLog(@"Google Data: %@", places);

最佳答案

您设置的“NSURLRequest”错误,应改用 requestWithURL:

代替

NSURLRequest *URLReq = [NSURL URLWithString:URL];


NSURLRequest * urlReq = [NSURLRequest requestWithURL: [NSURL URLWithString: URL]];

另外,快速仅供参考: objective-c 约定是将小写字母用于变量和ivars。使用大写字母作为您的 class 名称。换句话说,将“URLReq”更改为“urlReq”,将“URL”更改为“url”(或更妙的是,更具体的名称例如“googlePlaceURL”)。

08-19 17:41