2015-10-12 3 views
0

Я использую JSONModel для хранения моего источника данных приложения и использую -(id)initWithArray:(NSArray *)array modelClass:(Class)cls, сгенерированный JSONModelArray, теперь я хочу выполнить поиск, например enumerateObjectsUsingBlock:. Но я обнаружил, что JSONModelArray не унаследован от NSArray.Как сделать enumerateObjectsUsingBlock-подобный материал с JSONModelArray?

Итак, как я могу это сделать?

+1

Как говорится, это еще один объект, который построен с массивом. Поскольку это внешняя библиотека, модифицирующая исходный код, также не очень хорошая идея. Просто попробуйте реализовать простую категорию для базового класса. Он будет выполнять эту работу. – erenkabakci

ответ

0

Попробуйте использовать BWJSONMatcher, чтобы преобразовать строку json в NSArray.

Например, ваша строка JSON кажется, что:

[{"name":"Arron","age":20,"grade":2},{"name":"Burrows","age":21,"grade":2}] 

Все, что вам нужно сделать, это объявить свою собственную модель данных:

@interface Student : NSObject 

@property (nonatomic, strong) NSString *name; 
@property (nonatomic, assign) NSInteger age; 
@property (nonatomic, assign) NSInteger grade; 

@end 

BWJSONMatcher поможет вам преобразовать его в NSArray в очень аккуратный способ:

NSArray *students = [BWJSONMatcher matchJSON:jsonString withClass:[Student class]]; 
Смежные вопросы