我使用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);
}];
答案 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;