Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Objective-C

Войти
Регистрация
Восстановить пароль
 
Vladislav8712
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 4
#1

Преобразование JSON в NSArray для передачи в другой класс - Objective-C

13.11.2016, 21:44. Просмотров 4016. Ответов 0

Здравствуйте.
Суть задачи:
Класс А:
Получение JSON и перенаправление его в виде массива в другой класс.

Класс Б:
Получение массива класса А и направление в UIPickerView.

Пробовал:
- Ставил брейкпоинты, отслеживал что и где не верно.
- Делал JSON серилизацию.

Код:
Класс А:

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
-(void)getStates:(NSString *)states api_key:(NSString *)key completion:(void (^)(NSString *))completion
{
    
    
    NSString *stringUrl = @"http://staging.api.kiteflightapp.com/v1/facilities/get_states?api_key=g4sksgk0kspscc4oogo8wow0w0ocossg000og0so";
  
    NSURL *url = [NSURL URLWithString:stringUrl];
    
    
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    [request setHTTPMethod:@"GET"];
    
    [[[NSURLSession sharedSession] dataTaskWithRequest:request
                                     completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                         
                                         if (!error && data){ // here you can check also response.statusCode if needed
                                             
                                             
                                          
                                             
                                     GetstateArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
                                             
                                            
                                             
                                             dispatch_async(dispatch_get_main_queue(), ^{
                                                 completion(serverResponse);
                                                
                                                 
                                                 NSLog(@"%@",GetstateArray);
                                                 
                                                         
                                                 
                                                 
 
                                             });
                                         }else {
                                             dispatch_async(dispatch_get_main_queue(), ^{
                                                 completion(nil);
                                                 //show some alert about no connection etc
                                             });
                                         }
                                     }] resume];
    
     
     
    
   
    
}
 
 
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
 
#pragma mark - Navigation
 
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    
    if ([segue.identifier isEqualToString:@"toStatesPicker"]) {
        TakeContact *addNewContact;
        addNewContact = [segue destinationViewController];
        addNewContact.showMyState = GetstateArray;
        
        
    }
    
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
Класс Б:

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    showMyState.delegate =self;//мой pickerView
    showMyState.dataSource= self;
   
    
    
}
 
 
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
 
 
- (IBAction)SHOWMEJSON:(id)sender {
    
 
   
    
 
     
    
 
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
   
    
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
 
    return stateMyArray.count;
}
 
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
 
    return 1;;
    
}
-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
 
    return self.stateMyArray[row];
}
Буду признателен за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2016, 21:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразование JSON в NSArray для передачи в другой класс (Objective-C):

Работа с NSArray, NSString - Objective-C
Вообщем программа довольно простая: Есть AddressBook которая хранит название и массив, каждым элементом которого является AddressCard. В...

Подсчет повторяющихся значений в NSArray - Objective-C
Доброго времени суток. Допустим есть гараж, в гараже машины, у каждой машины есть марка (хонда, бмв, лада и т.д ). Как мне подсчитать...

Почему метод GET не годится в качестве ajax-запроса для передачи json? - Java EE
Здравстуйте. Сразу отмечу, что я в этом лишь новичек. Во-вторых, java тут, в большей степени, за уши притянута, но вполне возможно, что это...

Преобразование картинки для передачи по радиоканалу - Matlab
Всем доброго времени суток!Прошу помощи!Собрал в симулинке модельку. Вроде работает. Теперь нужно вместо случайных ноликов и единичек,...

Преобразование файлов, для передачи по линии связи - Delphi
День добрый. У меня есть ПК и есть одноплатный ЭВМ. Эти 2 устройства общаются через протокол RS485. В ПК стоит преобразователь USB-RS485,...

Один класс не видит другой. Преобразование класса - C++
Всем доброго времени суток. В общем вот есть такой код: #include <cmath> using namespace std; class Decart; class Polar { ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2016, 21:44
Привет! Вот еще темы с ответами:

Преобразование данных для передачи в БД SQL точных значений float - C#
В программе существует окно ввода, где вводится число с запятой, коорая передается в БД. А там оно появляется в виде числа флоат, с...

Преобразование двумерного массива в массив байтов для передачи через сеть - C#
Доброго времени суток. Собственно возник вопрос, а возможно ли преобразовать двумерный массив (ну или хоть какой нибудь массив) в байты,...

Преобразование числового значения типа Float для передачи по RS-232 (SerialPort) - C#
Добрый день! Возникла следующая проблема: необходимо преобразовать число типа Float для передачи по COM-порту следующим методом: ...

Яндекс Карты API JSON для я.карт и преобразование имен в координаты - JavaScript
Всем привет! Такой вот вопрос назрел. В БД содержится краткая информация об объявлении: id, краткое описание, адрес, метро, ссылка на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru