2019年2月23日
摘要: 其实我们在通过NSOperation和GCD进行开发过程中,会发现两者执行的方式有许多相似之处,NSOperation和GCD参照对比,NSOperationQueue和dispatch_queue参照对比,但是两者之间还是有许多差别的,具体区别: GCD的核心是C语言写的系统服务,执行和操作简单高 阅读全文
posted @ 2019-02-23 00:53 大圣ios博客 阅读(1500) 评论(0) 推荐(0) 编辑
摘要: //创建队列 NSOperationQueue *queue = [[NSOperationQueue alloc]init]; //封装操作 NSBlockOperation *op3 = [NSBlockOperation blockOperationWithBlock:^{ NSLog(@"执 阅读全文
posted @ 2019-02-23 00:38 大圣ios博客 阅读(442) 评论(0) 推荐(0) 编辑
摘要: //创建队列 NSOperationQueue *queue = [[NSOperationQueue alloc]init]; //封装操作 NSBlockOperation *op1 = [NSBlockOperation blockOperationWithBlock:^{ NSLog(@"1 阅读全文
posted @ 2019-02-23 00:04 大圣ios博客 阅读(736) 评论(0) 推荐(0) 编辑
  2019年2月22日
摘要: 自定义操作: -(void)customOperation { //创建队列 NSOperationQueue *queue = [[NSOperationQueue alloc]init]; //封装操作 XMGOperation *op = [[XMGOperation alloc]init]; 阅读全文
posted @ 2019-02-22 23:30 大圣ios博客 阅读(411) 评论(0) 推荐(0) 编辑
摘要: NSOperation基于GCD的封装,使用的步骤和GCD相似,①创建队列 ②封装操作任务。 NSOperation有两种队列: 主队列: NSOperationQueue *queue = [NSOperationQueue mainQueue]; 自定义队列(就是并发队列): NSOperati 阅读全文
posted @ 2019-02-22 21:41 大圣ios博客 阅读(224) 评论(0) 推荐(0) 编辑
摘要: #import "XMGTool.h" static XMGTool * _instance;//静态变量保证了单例的唯一性,静态变量是程序一开始就存在的 @interface XMGTool ()<NSCopying, NSMutableCopying> @end @implementation 阅读全文
posted @ 2019-02-22 20:31 大圣ios博客 阅读(227) 评论(0) 推荐(0) 编辑
摘要: dispatch_group_t group = dispatch_group_create(); dispatch_group_async(group, dispatch_get_global_queue(0, 0), ^{ NSLog(@" CCCCCCCCC "); }); dispatch_ 阅读全文
posted @ 2019-02-22 00:54 大圣ios博客 阅读(342) 评论(0) 推荐(0) 编辑
  2019年2月21日
摘要: 需求: 有4个任务, 需要开启多条线程去执行。 有一个特殊任务0, 需要在1,2任务执行完后, 再执行3, 4任务。 dispatch_queue_t queue = dispatch_queue_create("test", DISPATCH_QUEUE_CONCURRENT); dispatch 阅读全文
posted @ 2019-02-21 23:58 大圣ios博客 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: 函数: 该方法会开启多条子线程, 主线程也会参与执行。 因此不要传主队列。 dispatch_apply(10, dispatch_get_global_queue(0, 0), ^(size_t index) { }); 优点: 多线程快速遍历,提高程序运行的效率 注意: 不要传主队列, 会造成线 阅读全文
posted @ 2019-02-21 23:00 大圣ios博客 阅读(417) 评论(0) 推荐(0) 编辑
  2019年2月20日
摘要: 第一种: [self performSelector:@selector(run) withObject:nil afterDelay:2.0]; 第二种: [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selec 阅读全文
posted @ 2019-02-20 23:13 大圣ios博客 阅读(215) 评论(0) 推荐(0) 编辑