博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三方,解决模型无法在获取网络数据之后传值问题
阅读量:4596 次
发布时间:2019-06-09

本文共 3158 字,大约阅读时间需要 10 分钟。

导入这个第三方

Model.h 1 #import 
2 @class Model; 3 4 @protocol ModelDelegate
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
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 () 
{ 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

 

转载于:https://www.cnblogs.com/LiuLady12138/p/4684235.html

你可能感兴趣的文章
Android_AsyncTask
查看>>
软件项目版本号的命名规则及格式
查看>>
排序算法
查看>>
屏幕滑动与滚动条事件进行绑定
查看>>
js清除浏览器缓存的几种方法
查看>>
hdu 3127(矩阵切割)
查看>>
hdu 1864(01背包)
查看>>
[stl] SGI STL的空间配置器
查看>>
【IIS】IIS中同时满足集成模式和经典模式
查看>>
使用DOM解析XML文档
查看>>
python函数参数传递总结
查看>>
java生成Https证书,及证书导入的步骤和过程
查看>>
iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
查看>>
LeetCode 661. Image Smoother
查看>>
(译文)MVC通用仓储类
查看>>
《操作系统》第5章:输入/输出(I/O)管理
查看>>
Python初探第一篇-变量与基本数据类型
查看>>
快速创建SpringBoot2.x应用之工具类自动创建web应用、SpringBoot2.x的依赖默认Maven版本...
查看>>
《剑指offer》字符串中的字符替换
查看>>
PHP学习笔记(11)初探PHPcms模块开发
查看>>