Я использую API открытой погоды для получения живой погоды в зависимости от местоположения пользователей. Я сначала сделать переменную urllink
и установите его равным запрос HTTP:NSString имеет значение null при преобразовании из NSURL
NSString *urllink = [NSString stringWithFormat:@"api.openweathermap.org/data/2.5/weather?lat=%f&lon=%f&appid=%@", lat, lng, WEATHERAPIKEY];
Затем преобразовать эту строку в URL. Преобразование URL обратно в строку, потому что мне нужно изменить его NSData
объекта:
NSURL *jsonURL = [NSURL URLWithString:[self urlEncodeValue:urllink]];
NSString *jsonDataString = [[NSString alloc]initWithContentsOfURL:jsonURL]; // error on this line
NSLog(@"This is jsonDataString:%@", jsonDataString);
NSData *jsonData = [jsonDataString dataUsingEncoding:NSUTF8StringEncoding];
Переменная urllink
отлично превращается в NSURL
. Но когда я пытаюсь преобразовать NSURL
в NSString
, я получаю nil
. Что в свою очередь дает мне nil
за NSData
.
Так почему линия:
NSString *jsonDataString = [[NSString alloc]initWithContentsOfURL:jsonURL];
дает мне nil
для jsonDataString
?
вы наклеить, что URL в ваш браузер и тестирование? Каков был результат? –
Да, да. Это дало мне правильную строку json. Так что все сработало хорошо. –