(whh仅供自己参考)进行ip网络请求的步骤
这个过程大致是这个样子:
1 添加通知
2 发送网络请求 里边有一个发送通知的操作
3 执行发送通知的具体操作
代码如下:
1 在VC添加通知
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(receivingYM1:)
name:@"YM1" object:nil];
2 在SYNDispatchProcessor.m 中进行发送通知
-(void) delayTimeGCDbuild
{ // NSLog(@"主线程 %@", [NSThread currentThread]);
//间隔还是1秒
uint64_t interval = * NSEC_PER_SEC / ;
//创建一个专门执行timer回调的GCD队列
// dispatch_queue_t queue = dispatch_queue_create("my queue", 0);
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, );
//创建Timer
_timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, , , queue);
//使用dispatch_source_set_timer函数设置timer参数
dispatch_source_set_timer(_timer, dispatch_time(DISPATCH_TIME_NOW, ), interval, ); //设置回调
dispatch_source_set_event_handler(_timer, ^()
{
[self.arrayLock lock];
if([protocolmutableArrays count]>)
{
NSData* nData = [protocolmutableArrays objectAtIndex:];
// NSLog(@"Hava received datas is----- :%@",[self nDataToGbkString:nData]);
NSData* d = [nData subdataWithRange:NSMakeRange(, )]; NSString* aStr = [[NSString alloc] initWithData:d encoding:NSASCIIStringEncoding];
NSLog(@"在这里进行类型的判断:%@",aStr);
{ //在这里发送通知
[[NSNotificationCenter defaultCenter] postNotificationName:aStr object:[nData subdataWithRange:NSMakeRange(, nData.length-)]]; } [protocolmutableArrays removeObjectAtIndex:];
}
[self.arrayLock unlock]; });
3 执行发送通知的事件
//发送完通知之后接收到漫画数据
- (void) receivingYM1:(NSNotification*) anotification
{
//收到的是漫画的4个cell的大图跟一些相关信息
NSData* nsData = [anotification object];
NSString *string = [[NSString alloc]initWithData:nsData encoding:NSUTF8StringEncoding];
NSLog(@"nsdata:%@",string);
[self performSelectorOnMainThread:@selector(updateResgContollerYM1:) withObject:nsData waitUntilDone:YES];
}
//更新幽默坊漫画ui
-(void) updateResgContollerYM1:(id) data
{
//将data转换成字典类型
NSDictionary* YM1Dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; //用数组进行接收
NSMutableArray *commicArr = [YM1Dict valueForKey:@"comicList"]; //将数据存到字典中
self.FirComicDic = [commicArr objectAtIndex:];
self.SndComicDic = [commicArr objectAtIndex:];
self.ThdComicDic = [commicArr objectAtIndex:];
self.FourthComicDic = [@{@"comicContent":@"酒鬼",@"comicId":@""} mutableCopy]; }
(whh仅供自己参考)进行ip网络请求的步骤的更多相关文章
- python爬虫抖音 个人资料 仅供学习参考 切勿用于商业
本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Too ...
- ios的位置和方向(来自苹果官方文档,仅供简单参考)
取得用户的当前位置 Core Location框架使您可以定位设备的当前位置,并将这个信息应用到程序中.该框架利用设备内置的硬件,在已有信号的基础上通过三角测量得到固定位置,然后将它报告给您的代码.在 ...
- jquery笔记(仅供个人参考)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- sersync 开机自启 (仅供自己参考)
sersync是一个实时同步的软件,,将其添加到/etc/rc.local中没有效果 ##之所以没效果是因为:####由于/etc/rc.local是/etc/rc.d/rc.local的软连接,所以 ...
- Delphi中TApplication详解(转仅供自己参考)
转自:http://blog.sina.com.cn/s/blog_4d6f55d90100bmv9.html TApplication是用于Delphi应用程序的类型,该类在单元forms中声明.T ...
- mathJax基础语法-0基础开始,(这是网上抄来的如果有权限和版权问题联系本人处理,仅供学术参考)
- kinect2跑高博的orbslam2的过程(仅供自己参考记录)
首先感谢高博的无私奉献!http://www.cnblogs.com/gaoxiang12/p/5161223.html 程序所在的目录为:/home/zty/catkin_ws/src/iai_ki ...
- IDEA快捷键/本文仅供自己参考使用如有侵权立删
好好来学习学习IDEA这款神器,让你的效率飞起!视频来自慕课网 本文转载 更多技巧 代码定位 跳转: 1.IDEA的左侧侧边栏有1:Project.7:Structure和2:Favorities a ...
- TCP/IP网络编程之优于select的epoll(一)
epoll的理解及应用 select复用方法由来已久,因此,利用该技术后,无论如何优化程序性能也无法同时接入上百个客户端.这种select方式并不适合以web服务端开发为主流的现代开发环境,所以要学习 ...
随机推荐
- 修改uCOS_II以实现“优先级+时间片”联合调度
本文在uCOS II上增加时间片任务调度的的原理: 对设置为同优先级的任务使用时间片调度,不同优先级任务仍然使用uCOS II的优先级调度策略.在同优先级任务的时间片调度中,所有任务暂时时间片长度固定 ...
- mongodb exception in initAndListen: 12596 old lock file, terminating 解决方法
错误信息如下: exception in initAndListen: 12596 old lock file, terminating 基本上都是由于服务器断电等异常中断重启引起 解决方法 1.删除 ...
- 在PC上使用串口向开发板传送文件
之前一直使用的是NFS,即网络挂载文件系统,不愁文件的传输问题,但是不幸的是 前几天网络出现故障,使这种方式没法使用 变好的驱动程序一直没法下载到开发板里面,蛋疼欲裂啊. 于是乎折磨则么使用串口传输 ...
- 高性能I/O设计模式Reactor和Proactor
系统I/O 可分为阻塞型, 非阻塞同步型,非阻塞异步型. (Linux对aio支持的不完整,所以linux上用Reactor比较多:Proactor需要系统API支持真正的“异步”) 阻塞型I/O意味 ...
- hdoj 2473 Junk-Mail Filter【并查集节点的删除】
Junk-Mail Filter Time Limit: 15000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- Linux下开启MySQL的远程连接
今天在用客户端工具远程连接mysql的时候,连接不上,以为是防火墙,关了防火墙后依然打不开,后开在网上查了下原来mysql基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root ...
- iOS开发总结-图片左右滑动浏览
// // PicViewController.m // BJ // // Created by shirenfeng on 16/9/13. // Copyright © 2016年 com.zyb ...
- java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误
java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误. 问题: 创建了一个工 ...
- IE8下提示'console'没有定义错误
在开发的过程中因为调试的原因,在代码中增加console.info("xxxx"),而未进行删除 在IE8下測试该代码所在的页面报错,例如以下: 须要注意的是,使用console对 ...
- Android 举例说明自己的定义Camera图片和预览,以及前后摄像头切换
如何调用本地图片,并调用系统拍摄的图像上一博文解释(http://blog.csdn.net/a123demi/article/details/40003695)的功能. 而本博文将通过实例实现自己定 ...