第三方,解決模型無法在擷取網路資料之後傳值問題

來源:互聯網
上載者:User

標籤:

匯入這個第三方

   Model.h 1 #import <Foundation/Foundation.h> 2 @class Model; 3  4 @protocol ModelDelegate <NSObject> 5  6 -(void)didModel:(Model*)model receiveArray:(NSArray*)array; 7 @end 8  9 @interface Model : NSObject10 11 @property (nonatomic,copy) NSString *code;12 @property (nonatomic,copy) NSString *juLogo;13 @property (nonatomic,copy) NSString *juSlogo;14 @property (nonatomic,copy) NSString *juBanner;15 @property (nonatomic,copy) NSString *juBrand_id;16 @property (nonatomic,copy) NSString *name;17 @property (nonatomic,copy) NSString *juDiscount;18 @property (nonatomic, weak) id<ModelDelegate> delegate;19 20 21 - (void)getDataWithUrl:(NSString *)url;22 @end
    Model.m 1 #import "Model.h" 2 #import "AFNetworking.h" 3  4 @interface Model() 5 @end 6  7 @implementation Model 8  9 - (void)getDataWithUrl:(NSString *)url {10     11     NSMutableArray *data_array = [NSMutableArray arrayWithCapacity:0];12     13     AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];14     [manager POST:url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject){15         NSArray *array = responseObject[@"data"];16         sleep(3);17         for (NSDictionary *dic in array)18         {19             Model *dataModel = [[Model alloc]init];20             [dataModel setValuesForKeysWithDictionary:dic];21             [data_array addObject:dataModel];22             23         }24         25         if (self.delegate && [self.delegate respondsToSelector:@selector(didModel:receiveArray:)]) {26             [self.delegate didModel:self receiveArray:data_array];27         }28         29     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {30         NSLog(@"error---%@",error);31     }];32 }33 34 @end
    ViewController.m 1 #import "ViewController.h" 2 #import "Model.h" 3 #import "AFNetworking.h" 4 #import "MBProgressHUD.h" 5  6 @interface ViewController () <ModelDelegate> { 7     MBProgressHUD *_hud; 8     Model *model; 9 }10 @end11 12 @implementation ViewController13 14 - (void)viewDidLoad15 {16     [super viewDidLoad];17     18     model = [[Model alloc] init];19     model.delegate = self;20     [model getDataWithUrl:@"http://zhekou.repai.com/jinrituangou/view/jupinpai_list.php"];    dispatch_queue_t queue = dispatch_queue_create("showhud", NULL);21     dispatch_async(queue, ^{22         dispatch_async(dispatch_get_main_queue(), ^{23             [self showHUD:@"loading..."];24         });25     });26 }27 28 -(void)showHUD:(NSString*)title {29     if (_hud) {30         [_hud hide:YES];31         _hud = nil;32     }33     _hud = [MBProgressHUD showHUDAddedTo:[[[UIApplication sharedApplication] delegate] window] animated:YES];34     _hud.labelText = title;35     [_hud show:YES];36 }37 38 -(void)closeHud {39 40 41     [_hud hide:YES];42 }43 44 -(void)didModel:(Model*)model receiveArray:(NSArray*)array {45 //    NSLog(@"receive array: %@", array);46     [self closeHud];47     48     [self logWithArray:array];49     50 }51 52 - (void)logWithArray:(NSArray *)array{53     sleep(3);54     NSLog(@"%@",array);55 }56 @end

 

第三方,解決模型無法在擷取網路資料之後傳值問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.