Почему JSONModel не выходит вытянуть вложенные ключи?

Рейтинг: 1Ответов: 1Опубликовано: 01.12.2014

Ув. програмеры! Прошу помощи так как сам уже разуверился в решении данной проблемы. При помощи JSONModel хочу получить данные, причем из корневых ключей все выгребает без проблем, тогда как вложения полностью игнорирует.

Ссылка на скрин JSON http://s019.radikal.ru/i624/1412/bd/6f342f5373b1.jpg

Вот собственно код:

-(void)viewDidAppear:(BOOL)animated {
 NSURL* url = [NSURL URLWithString:@"http://json-link"];
 NSURLRequest *request = [NSURLRequest requestWithURL:url];

AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request];
op.responseSerializer = [AFJSONResponseSerializer serializer];

[op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    [self didReceiveJSON: responseObject];

 } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
 // Handle error
 }];

[op start];
}

-(void)didReceiveJSON:(NSDictionary*)obj
{
    NSArray* results = obj[@"content"];
    /* ?????????????????  Переменная "album_list" не заполняется */
    album_list = [AlbumModel arrayOfModelsFromDictionaries:results];

[self.tableView reloadData];

}

И есть вот такие 2 модели:

#import "JSONModel.h"

@protocol SongsModel;

@interface RootSongsModel : JSONModel

@property (strong, nonatomic) NSString* average_rating;
@property (strong, nonatomic) NSArray<SongsModel> *songs;

@end

#import "JSONModel.h"
#import "RootSongsModel.h"

@protocol SongsModel
@end

@interface SongsModel : JSONModel

@property (assign, nonatomic) int* album_id;
@property (assign, nonatomic) NSString* artist_name;
@property (assign, nonatomic) NSString* average_rating;
@property (strong, atomic) RootSongsModel<Optional> *content;

@end

Ответы

▲ 1

Вместо вызова метода

arrayOfModelsFromDictionaries

вызовите метод:

arrayOfModelsFromDictionaries:error:

и посмотрите что вернет в ошибке. А лучше, обработайте.