无法保存AFNetworking responseObject

时间:2015-01-06 07:07:59

标签: ios objective-c ios7 afnetworking

我使用AFNetworking调用Web服务并将返回数据保存在NSDictionary对象中。但即使数据已成功记录在NSLog()中,也没有任何内容存储在其中。

这是我的字典:

@property (strong, nonatomic) NSDictionary *newsItems;

这是我的代码:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    NSDictionary *parameters = @{@"key": @"keyy", @"q": @"ads" };
    [manager POST:BaseURLString parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
        self.newsItems = (NSDictionary *) responseObject;
        NSLog(@"JSON: %@", responseObject);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    }];

2 个答案:

答案 0 :(得分:1)

您需要申报NSArray&不是NSDictionary如下:

@property (strong, nonatomic) NSArray *newsItems;

并指定responseObject,如下所示:

self.newsItems = (NSArray *) responseObject;

希望这有帮助。

答案 1 :(得分:1)

首先,使用以下行检查您是否从网络服务获得任何回复:

NSLog(@"RESPONSE : %@", operation.responseString);

其次,如果您的Web服务应该返回一个字典数组,那么您应该在字典上声明一个数组。

@property (strong, nonatomic) NSArray *newsItems;

而不是

@property (strong, nonatomic) NSDictionary *newsItems;