问:
Can you help me to understand, how to use UIActivityIndicatorView+AFNetworking
orUIProgressView+AFNetworking
. Do I need to create one more UIViewController
and if yes, where do I need to implement it? have found out that I need to usesetProgressWithUploadProgressOfOperation
or setAnimatingWithStateOfOperation
, but I still need an example.
my code is:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setValue:@"" forHTTPHeaderField:@""];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager GET:@"blablabla" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { // 3
//[self.view setAnimatingWithStateOfOperation:operation];
NSLog(@"JSON: %@", responseObject);
NSArray *carsList = responseObject[@"data"];
[self showStream:carsList]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { // 4
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
message:[error localizedDescription]
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];
}];
答:
I guess, you want to show UIActivityIndicator while operation is loading. So you have to do something like this:
// your code AFHTTPRequestOperation *operation = [manager GET:@"blablabla" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
// even more code
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// and here
}]; UIActivityIndicatorView *indicatorView = [[UIActivityIndicatorView alloc] init];
indicatorView.frame = /*calculate frame here*/;
[self.view addSubView:indicatorView];
[indicatorView setAnimatingWithStateOfOperation:operation];