ios34---GDC,dispatch_once
//
// ViewController.m
// 09-掌握-GCD常用函数
//
// Created by xiaomage on 16/2/18.
// Copyright © 2016年 小码哥. All rights reserved.
// #import "ViewController.h"
#import "XMGPerson.h" @interface ViewController () @end @implementation ViewController -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
// [self once]; XMGPerson *p1 = [[XMGPerson alloc]init];
XMGPerson *p2 = [[XMGPerson alloc]init];
NSLog(@"%@---%@",p1.books,p2.books);
} //延迟执行
-(void)delay
{
NSLog(@"start-----"); //1. 延迟执行的第一种方法
//[self performSelector:@selector(task) withObject:nil afterDelay:2.0]; //2.延迟执行的第二种方法
//[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(task) userInfo:nil repeats:YES]; //3.GCD
// dispatch_queue_t queue = dispatch_get_main_queue();
dispatch_queue_t queue = dispatch_get_global_queue(, );
/*
第一个参数:DISPATCH_TIME_NOW 从现在开始计算时间
第二个参数:延迟的时间 2.0 GCD时间单位:纳秒
第三个参数:队列
*/
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), queue, ^{
NSLog(@"GCD----%@",[NSThread currentThread]);
}); } //一次性代码
//不能放在懒加载中的,应用场景:单例模式
-(void)once
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{ //整个项目生命周期只执行一次,多次调用都不会执行多次
NSLog(@"---once----");
});
} -(void)task
{
NSLog(@"task----%@",[NSThread currentThread]);
}
@end
//
// XMGPerson.h
// 09-掌握-GCD常用函数
//
// Created by xiaomage on 16/2/18.
// Copyright © 2016年 小码哥. All rights reserved.
// #import <Foundation/Foundation.h> @interface XMGPerson : NSObject @property (nonatomic, strong) NSArray *books;
@end
//
// XMGPerson.m
// 09-掌握-GCD常用函数
//
// Created by xiaomage on 16/2/18.
// Copyright © 2016年 小码哥. All rights reserved.
// #import "XMGPerson.h" @implementation XMGPerson -(NSArray *)books
{
// if (_books == nil) {
// _books = @[@"1234",@"56789"];
// } static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{ //只执行一次
_books = @[@"",@""];
});
return _books;
}
@end
ios34---GDC,dispatch_once的更多相关文章
- 【学习总结】【多线程】 多线程概要 & GDC & NSOperation
基本需要知道的 : 进程 : 简单点来说就是,操作系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程均运行在受保护的内存空间内 线程 : 一个进程(进程)想执行任务,必须有线程(所以, ...
- [iOS dispatch_once创建单例]
自苹果引入了Grand Central Dispatch (GCD)(Mac OS 10.6和iOS4.0)后,创建单例又有了新的方法,那就是使用dispatch_once函数,当然,随着演进的进行, ...
- ios oc 和 swfit 用dispatch_once 创建单例
网上已经有方法了,我这里就是抄了下,原文链接 http://bj007.blog.51cto.com/1701577/649413 http://blog.csdn.net/u010124617/ar ...
- GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
转:http://www.tuicool.com/articles/NVVnMn (1)GCD实现的同步异步.串行并行. ——同步sync应用场景:用户登录,利用阻塞 ——串行异步应用场景:下载等耗时 ...
- Marza Gift for GDC 2016
这个帖子还是用中文写了,主要是面向国内. 这是一个趋势,就是基于UE.Unity这些日趋完善的游戏引擎以及编辑器制作便宜的3D动画.国内有<超黑学院>这种为代表,还有其他许多国漫,勉强能耐 ...
- 利用dispatch_once创建单例
无论是爱还是恨,你都需要单例.实际上每个iOS或Mac OS应用都至少会有UIApplication或NSApplication. 什么是单例呢?Wikipedia是如此定义的: 在软件工程中,单例 ...
- dispatch_once单例初始化
static GHCache *instance = nil; /** * 单例,静态初始化方法 * * @return 返回一个单例 */ + (GHCache*)shareCache{ sta ...
- IOS:利用dispatch_once创建单例
在之前有一篇学习笔记中,记载了一篇如何在OC中实现单例的文章:<IOS学习笔记4—Objective C—创建单例>自苹果引入了Grand Central Dispatch (GCD)(M ...
- 使用dispatch_once:创建单列
无论是爱还是恨,你都需要单例.实际上每个iOS或Mac OS应用都至少会有UIApplication或NSApplication. 什么是单例呢?Wikipedia是如此定义的: 在软件工程中,单例是 ...
- 这次GDC China 2015的总结与关卡设计教程的梳理
去年关卡教程总结链接:听了GDC2014关于关卡设计的讲座的总结与自己的理解 24 号去了GDC china听了讲座,没有听unity没有听VR,听了一天关卡教程,和上次的关卡教程还是有区别的,这次的 ...
随机推荐
- 无插件纯Web 3D机房,HTML5+WebGL倾力打造
前言 最近项目开发任务告一段落,刚好有时间整理这大半年的一些成果.使用html5时间还不久,对js的认识还不够深入.没办法,以前一直搞java,对js的一些语言特性和概念一时还转换不过来. 上一篇大数 ...
- qrcode.js扫码邀请
//js引用部分<script src="../qrcode.js" type="text/javascript"></script> ...
- VM虚拟机中CentOS6.4操作系统安装一
在 VMware中鼠标单击“编辑虚拟机设置”,在弹出的“虚拟机设置”对话框中的“硬件”标签中选择“CD/DVD(IDE)”,然后在右侧的“CD /DVD(IDE)”连接选项中选择“使用ISO映像文件” ...
- Sql语句的一些事(二)
与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行 from--where--group by--having--select--order by, from:需要从哪个数据表检索数据 wh ...
- PHPExcel读取表格内容
PHPExcel读取表格 先引入类IOFactory.php require_once '../PHPExcel/IOFactory.php'; $filePath = "test.xlsx ...
- 一个关于vue+mysql+express的全栈项目(一)
最近学了mysql数据库,寻思着能不能构思一个小的全栈项目,思来想去,于是就有了下面的项目: 先上几张效果图吧 目前暂时前端只有这几个页面,后端开发方面,有登录,注册,完善用户信息,获取用 ...
- java中检测-在运行时指定对象是否是特定类的一个实例---关键字 instanceof
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. if(requ ...
- 九度oj 题目1062:分段函数
题目1062:分段函数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3874 解决:2278 题目描述: 编写程序,计算下列分段函数y=f(x)的值.y=-x+2.5; 0<=x& ...
- PyUV: Python高性能网络库
libUV的python版本 https://github.com/saghul/pyuv
- [luoguP1082] 同余方程(扩展欧几里得)
传送门 ax≡1(mod b) 这个式子就是 a * x % b == 1 % b 相当于 a * x - b * y == 1 只有当 gcd(a,b) == 1 时才有解,也就是说 ax + by ...