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

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

Восстановить пароль Регистрация
 
Vladislav8712
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 4
13.11.2016, 21:44     Преобразование JSON в NSArray для передачи в другой класс #1
Здравствуйте.
Суть задачи:
Класс А:
Получение 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];
}
Буду признателен за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2016, 21:44     Преобразование JSON в NSArray для передачи в другой класс
Посмотрите здесь:

Objective-C JSON
посоветуйте JSON framework Objective-C
парсинг JSON Objective-C
Objective-C NSDictionary и JSON
Работа с NSArray, NSString Objective-C
Парсинг JSON из локального файла Objective-C
Подсчет повторяющихся значений в NSArray Objective-C
Парсер JSON (возникает ошибка) Objective-C

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему

Метки
json parse, objective c
Опции темы

Текущее время: 08:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru