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
, возможно), и у тебя должно быть все готово.