3

AFNetworking + JSONKit + iOS 5.0+ = JSON 解析が機能しません (解析しようとすると nil オブジェクトが返されます)。

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];
    }
}];
4

1 に答える 1

2

JSONKit が iOS 5 で動作しないのは奇妙です...それにもかかわらず、JSON エンコード/デコードのために JSONKit をオーバーライドする簡単な方法があり、利用可能な場合は最初に NSJSONSerialization を試します。#define _AFNETWORKING_PREFER_NSJSONSERIALIZATION_プロジェクトのヘッダー ファイル (Prefix.pchおそらく ) に追加するだけで、準備は完了です。

于 2012-02-04T18:32:10.620 に答える