在开发过程中,我们有时会希望把一些操作封装起来延迟一段时间后再执行.iOS开发中,有两种常用的方法可以实现延迟执行,一种是使用GCD,另外一种是使用NSRunLoop类中提供的方法. 1.使用GCD实现延迟执行 在GCD中可以使用dispatch_after()函数,封装一段代码到block中,在设置的延迟时间(dispatch_time_t)之后执行. void dispatch_after( dispatch_time_t when, dispatch_queue_t queue, disp…
iOS开发UI篇—Quartz2D使用(矩阵操作) 一.关于矩阵操作 1.画一个四边形 通过设置两个端点(长和宽)来完成一个四边形的绘制. 代码: - (void)drawRect:(CGRect)rect { //画四边形 //获取图形上下文 CGContextRef ctx=UIGraphicsGetCurrentContext(); //绘图 CGContextAddRect(ctx, CGRectMake(, , , )); //渲染 CGContextStrokePath(ctx);…
iOS的三种多线程技术 1.NSThread 每个NSThread对象对应一个线程,量级较轻(真正的多线程) 2.以下两点是苹果专门开发的“并发”技术,使得程序员可以不再去关心线程的具体使用问题 ØNSOperation/NSOperationQueue 面向对象的线程技术 ØGCD —— Grand Central Dispatch(派发) 是基于C语言的框架,可以充分利用多核,是苹果推荐使用的多线程技术 以上这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Appl…
0. Brief Introduction GCD,全称Grand Central Dispath,是苹果开发的一种支持并行操作的机制.它的主要部件是一个FIFO队列和一个线程池,前者用来添加任务,后者用来执行任务. GCD中的FIFO队列称为dispatch queue,它可以保证先进来的任务先得到执行(但不保证一定先执行结束). 通过与线程池的配合,dispatch queue分为下面两种: Serial Dispatch Queue -- 线程池只提供一个线程用来执行任务,所以后一个任务必…
IOS DEVELOPMENT TIPS & TRICKS - PART I http://blog.trifork.com/2013/12/19/ios-development-tips-tricks-part-i/ As you might know, I am very fond of developing apps for the iOS platform. I started back in mid-2009 by trying to create an app for the Dut…
IOS Xcode开发中的文件后缀名区别m,mm,cpp,h .h :头文件.头文件包含类,类型,函数和常数的声明. .m :源代码文件.这是典型的源代码文件扩展名,可以包含Objective-C和C代码. .mm :源代码文件.带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码.仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名 .cpp:只能编译C++ 当你需要在源代码中包含头文件的时候,你可以使用标准的#incl…
Grand Central Dispatch,简称GCD,在异步执行任务的技术之一. 一般将应用程序中记述的线程管理用的代码在系统级中实现,开发者只需要定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务.这句话用代码表示如下: dispatch_async(queue, ^{ /* * 想要执行的任务 */ }); 虽然多线程可以给开发贷来便利,在执行长时间的处理时仍可保证用户界面的响应性能.但是,如果过多使用多线程,就会消耗大量内存,引起大量的…
导航条或者说导航栏目现在在App中基本上也算是标配,类似于父子级别的味道在里面,UINavigationController就是负责简化这一实现功能的,属于iOS开发中比较常用的一种容器View controller,很多人都用,实现起来相对比较容易,可以先看张图片了解NavigationController: 界面布局 上面看着很高大上,下面看个个人的,从控件库中拖入一个Navigation Controller,然后新建两个ViewController: 拖入的一个NavigationCon…
文件,文件夹操作   ios开发经常会遇到读文件,写文件等,对文件和文件夹的操作,这时就可以使用NSFileManager,NSFileHandle等类来实现. 下面总结了各种常用的操作:   1,遍历一个目录下的所有文件 //假设用户文档下有如下文件和文件夹[test1.txt,fold1/test2.txt] let manager = NSFileManager.defaultManager() let urlForDocument = manager.URLsForDirectory(…
GCD多线程详解 1. 什么是GCD Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,简单来说,GCD就是iOS一套解决多线程的机制,使用GCD能够最大限度简化多线程编程 2. 简单使用GCD /** * 在主线程执行 */ dispatch_async(dispatch_get_main_queue(), ^{ ; }); /** * 在后台线程执行 */ dispatch_async(dispatch_get_global_queue(DISPATCH_QU…