AFNetworking + JSONKit не работают вместе - PullRequest
3 голосов
/ 04 февраля 2012

AFNetworking + JSONKit + iOS 5.0+ = синтаксический анализ JSON не работает (возвращает ноль объектов при попытке анализа).

AFNetworking + iOS 5.0+ = Парсинг JSON работает нормально.

AFNetworking + JSONKit + iOS 4.X = Разбор JSON работает

AFNetworking + iOS 4.X = синтаксический анализ JSON не работает (поскольку NSJSONSerializer доступен только для iOS5.0 +).

Как мне решить эту проблему? Фрагмент кода:

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
    if([sender respondsToSelector:finish])
    {
        NSArray *responseArray = JSON;
        [sender performSelector:finish withObject:JSON];
    }
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
    NSLog(@"Error retrieving: %@\n%@", error, response);
    if([sender respondsToSelector:fail])
    {
        [sender performSelector:fail];
    }
}];

1 Ответ

2 голосов
/ 04 февраля 2012

Странно, что JSONKit не работает с iOS 5 ... Тем не менее, есть простой способ переопределить JSONKit для кодирования / декодирования JSON и сначала попробовать NSJSONSerialization, если это возможно. Просто добавьте #define _AFNETWORKING_PREFER_NSJSONSERIALIZATION_ в заголовочный файл проекта (возможно, Prefix.pch), и все должно быть готово.

...