Есть некоторые вещи, на которые вы должны обратить внимание при вызове данных из json, но это довольно просто.Прежде всего вы должны добавить эти две строки вверху m-файла:
#define kAsyncModus dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
#define kYourJsonURL [NSURL URLWithString: @"_THE_JSON_URL_"]
, затем вставьте следующую часть в ваш метод viewDidLoad.«dispatch_async» должен использоваться с предыдущим определенным макросом (вверху), поэтому вы создаете поток.В противном случае ваше приложение может аварийно завершить работу, если, возможно, ответ от сервера не получен, но метод продолжает его ждать.
// get elements of json
dispatch_async(kAsyncModus, ^{
NSData *data = [NSData dataWithContentsOfURL: kYourJsonURL];
[self performSelectorOnMainThread:@selector(fetchedData:)
withObject:data
waitUntilDone:YES];
});
и создаст новый метод, который будет извлекать отдельные элементы из полученного json
- (void)fetchedData:(NSData *)responseData{
NSError *error;
NSDictionary *json =
[NSJSONSerialization JSONObjectWithData:responseData
options:kNilOptions
error:&error];
NSArray *results = [json objectForKey:@"_firstElementInJsonFile_"];
NSLog(@"Results: %@", results);
}
для получения дополнительной информации, вы используете результаты
NSDictionary *specificData = [results objectAtIndex:0];
, и это должно быть сделано.
Я только кратко объяснил это, если вы хотите получить все фактыпосмотрите следующий учебник .Но я не уверен, есть ли поддержка более старых устройств, которые используют