iOS 中的延时操作方法

1.

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

//        要执行的代码

});

//NSEC_PER_SEC表示的是秒数,它还提供了NSEC_PER_MSEC表示毫秒。

//上面这句dispatch_after的真正含义是在2秒后把任务添加进队列中,并不是表示在2秒后执行,大部分情况该函数能达到我们的预期,只有在对时间要求非常精准的情况下才可能会出现问题。

2.

[self performSelector:@selector(要执行的方法) withObject:nil afterDelay:5];

GCD详解网址:

http://blog.csdn.net/zhangao0086/article/details/38904923

时间: 2024-10-24 05:52:25

iOS 中的延时操作方法的相关文章

ios中模拟延时的几种方法

- (void)delay1 {     // 延迟执行不要用sleep,坏处:卡住当前线程     [NSThread sleepForTimeInterval:3];     NSLog(@"操作"); } - (void)delay2 {     // 一旦定制好延迟任务后,不会卡主当前线程     [self performSelector:@selector(download:) withObject:@"http://美女.jpg" afterDelay

iOS中几种数据持久化方案

概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种存储方法之前,有必要说明以下沙盒机制.iOS程序默认情况下只能访问程序自己的目录,这个目录被称为"沙盒". 1.结构 既然沙盒就是一个文件夹,那就看看里面有什么吧

iOS中几种常用的数据存储方式

自己稍微总结了一下下,方便大家查看 1.write直接写入文件的方法 永久保存在磁盘中,可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中, 具体步骤大致如下: 第一步:获得文件即将保存的路径: NSArray*documentPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,Y

iOS中引用计数内存管理机制分析

在 iOS 中引用计数是内存的管理方式,尽管在 iOS5 版本号中.已经支持了自己主动引用计数管理模式.但理解它的执行方式有助于我们了解程序的执行原理.有助于 debug 程序. 操作系统的内存管理分成堆和栈. 在堆中分配的内存,都试用引用计数模式:在栈中则不是. NSString 定义的对象是保存在栈中,所以它没有引用计算.看一些书上说它的引用计算会是 fffffffff 最大整数.測试的结果显示它是- 1. 对该对象进行 retain 操作.不好改变它的 retainCount 值. Mut

iOS中几种数据持久化方案总结

概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种存储方法之前,有必要说明以下沙盒机制.iOS程序默认情况下只能访问程序自己的目录,这个目录被称为"沙盒". 1.结构 既然沙盒就是一个文件夹,那就看看里面有什么吧

小结Android和iOS中LocalNotification

用Unity开发游戏,总难免要用到Native Development,比如Notification功能. 本文只对LocalNotification进行小结,iOS上RemoteNotification在此未讨论.(后面发现Unity已经把iOS部分给封装好了) Notification大致提供了两个功能:Register和Cancel,没找到Update的API,后来自己想了个Update的方法,就是先Cancel再Register. iOS: 1 //由于c#用long类型传递秒数,而lo

IOS中调用系统的电话、短信、邮件、浏览功能

iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评论, 收藏, 编辑 --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: 调用系统应用 使用系统服务目 录 短信与邮件 通讯录

iOS中GCD的使用小结

本篇博客共分以下几个模块来介绍GCD的相关内容: 多线程相关概念 多线程编程技术的优缺点比较? GCD中的三种队列类型 The main queue(主线程串行队列) Global queue(全局并发队列) Custom queue (自定义队列) Group queue (队列组) GCD中一些系统提供的常用dispatch方法 多线程相关概念 进程与线程 进程概念: 进程是程序在计算机上的一次执行活动,打开一个app,就开启了一个进程,可包含多个线程. 线程概念: 独立执行的代码段,一个线

iOS中通过GCD实现多线程用法

GCD简介 GCD全称Grand Central Dispatch,可翻译为“牛逼的中枢调度器”. 纯C语言,提供了非常多强大的函数. GCD优势: GCD是苹果公司为多核的并行运算提出的解决方案. GCD会自动利用更多的CPU内核(比如双核.四核). GCD会自动管理线程的生命周期(创建线程.调度任务.销毁线程). 程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码. 任务和队列 GCD中有2个核心概念 任务:执行什么操作. 队列:用来存放任务. GCD的使用就2个步骤 定制任