У меня есть UITableViewController, и я пытаюсь получить данные JSON с url с помощью этого кода, но я получаю сообщение об ошибке. Что делать?Параметр данных AFNetworking is nil Данные JSON
AFSecurityPolicy *securityPolicy = [[AFSecurityPolicy alloc] init];
[securityPolicy setAllowInvalidCertificates:YES];
NSString *urlPath = [NSString stringWithFormat:@"http://testurl.com/api/index.php"];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"process":@"search_customer",@"page": @""};
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager setSecurityPolicy:securityPolicy];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:urlPath parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSData *jsonData = [NSData dataWithContentsOfFile:string];
NSError *error = nil;
NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
self.customerCards = [NSMutableArray array];
NSArray *customersArray = [dataDictionary objectForKey:@"musteri_list"];
for (NSDictionary *customersDictionary in customersArray) {
ApiClass *customer = [ApiClass customersWithTitle:[customersDictionary objectForKey:@"adi"]];
customer.tel = [customersDictionary objectForKey:@"tel"];
[self.customerCards addObject:customer];
}
NSLog(@"GET: %@", string);
NSLog(@"POST: %@", parameters);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
Это блок ошибка
2015-03-26 14:27:37.656 SaphiraCrm[13770:3881729] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil'
Вы принимаете [DataDictionary objectForKey: @ "musteri_list"]; существует. Если у вас нет действительного dataDictionary, весь код под этой строкой приведет к сбою. Поэтому убедитесь, что строки, jsonData, dataDictionary и т. Д. Действительны до начала использования для условий цикла. – user3344236
Также почему вы не используете 'AFJSONResponseSerializer', чтобы напрямую получить JSON. – rckoenes
Попробуйте отладить его с помощью контрольных точек и проверьте, где он сбой. – Jassi