0

我正在尝试为“Camfind”API 编译示例代码,但在检索响应标头时失败:

NSDictionary *responseHeaders = response.headers

ARC不允许将非目标 C 指针类型隐式转换int *为。NSDictionary

这是我的“podFile”:

# Uncomment this line to define a global platform for your project
platform :ios, '7.0'

target 'menswear' do
pod 'Unirest', '~> 1.1.3'
end

target 'menswearTests' do

end

最初使用此代码测试编译。与"here"提供的示例相同。

 // These code snippets use an open-source library.
         NSDictionary *headers = @{@"X-Mashape-Key": @"7ze1l1nX1Wmshc4yBzHqeWBldlkhp1CfGcmjsnATkTf58N2F8b", @"Content-Type":   @"application/x-www-form-urlencoded", @"Accept": @"application/json"};
    NSDictionary *parameters = @{@"focus[x]": @"480", @"focus[y]": @"640", @"image_request[altitude]": @"27.912109375", @"image_request[language]": @"en", @"image_request[latitude]": @"35.8714220766008", @"image_request[locale]": @"en_US", @"image_request[longitude]": @"14.3583203002251", @"image_request[remote_image_url]": @"http://upload.wikimedia.org/wikipedia/en/2/2d/Mashape_logo.png"};
    UNIUrlConnection *asyncConnection = [[UNIRest post:^(UNISimpleRequest *request) {
        [request setUrl:@"https://camfind.p.mashape.com/image_requests"];
        [request setHeaders:headers];
        [request setParameters:parameters];
    }] asJsonAsync:^(UNIHTTPJsonResponse *response, NSError *error) {
        NSInteger code =  response.code;
        NSDictionary *responseHeaders = response.headers
        UNIJsonNode *body = response.body;
        NSData *rawBody = response.rawBody;
    }];

'headers' 是 UNIHTTPResponse 扩展的 UNIHTTPJsonResponse 的属性。

@interface UNIHTTPResponse : NSObject

@property(readwrite) NSInteger code;
@property(readwrite, strong) NSDictionary* headers;
@property(readwrite, strong) NSData* rawBody;

@end

这似乎应该非常直截了当。我不明白为什么 Xcode 将标题解释为int *尽管我在UNIHTTPResponse.h.

4

0 回答 0