AFHTTPRequestOperationManager網路請求的時候添加一個菊花,requestmapping
問:
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 codeAFHTTPRequestOperation *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];