AFHTTPRequestOperationManager当一个网络请求加入菊花

问:

Can you help me to understand, how to use UIActivityIndicatorView+AFNetworking or UIProgressView+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 use setProgressWithUploadProgressOfOperation 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];




posted @ 2015-06-25 17:13  phlsheji  阅读(478)  评论(0编辑  收藏  举报