2015-01-06 5 views
1

Я звоню в веб-службу, используя AFNetworking и сохраняя возвращаемые данные в объекте NSDictionary. Но в нем ничего не хранится, даже если данные успешно зарегистрированы в NSLog().Невозможно сохранить ответ AFNetworkingObject

Это мой словарь:

@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

Ваш код правильно, вы можете поместить '' NSLog' для self.newsItems' вместе с 'responseObject'? – iphonic

+0

Он может вернуться с помощью 'NSArray' или' NSDictionary'. Проверьте тип ответа перед его применением. – Raptor

+0

Пожалуйста, отправьте NSLog для 'responseObject' в консоли. –

ответ

1

Во-первых, проверьте, что вы получаете никакого ответа от веб-службы, используя следующую строку:

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

Во-вторых, если ваш веб-сервис должен возвращать массив словарей, то вы должны объявить массив вместо этого в словаре.

@property (strong, nonatomic) NSArray *newsItems; 

вместо

@property (strong, nonatomic) NSDictionary *newsItems; 
+0

Спасибо за ваш ответ –

+0

Добро пожаловать! –

1

Вы должны объявить NSArray & не NSDictionary как следующее:

@property (strong, nonatomic) NSArray *newsItems;

И назначьте responseObject как следующее:

self.newsItems = (NSArray *) responseObject;

Надеется, что это помогает.