AFNetworking + JSONKit не работают вместе

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 ответ

Решение

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

Другие вопросы по тегам