0

簡単な非同期呼び出しを可能にするために、プロジェクトでAFNetworking、より具体的にはAFJSONRequestOperationを使用したいと思います。AFNetworkingGitHubPageのサンプルコードをすぐに使用してみました

NSURL *url = [NSURL URLWithString:@"https://alpha-api.app.net/stream/0/posts/stream/global"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request 
    success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
        NSLog(@"App.net Global Stream: %@", JSON);
    } 
    failure:nil];
[operation start];

これは問題なく動作しますが、MetOffice DatapointのURLを使用するとクラッシュします。これは、JSONフィードのエンコードタイプがNSISOLatin1StringEncoding問題の原因である可能性があると考えています。NSJSONSerialization

私が現在これを処理する方法は

NSString *string = [NSString stringWithContentsOfURL:kMetOfficeAllSites encoding:NSISOLatin1StringEncoding error:&error];
NSData *metOfficeData = [string dataUsingEncoding:NSUTF8StringEncoding];
id jsonObject = [NSJSONSerialization JSONObjectWithData:metOfficeData options:kNilOptions error:&error]

しかし、AFJSONRequestOperationでこの状況をどのように処理しますか?

前もって感謝します

4

0 に答える 0