
IOS
hookystudent
这个作者很懒,什么都没留下…
展开
-
UIAlertView和UIActionSheet的IOS8兼容
IOS8中,UIActiconSheet已被废弃,同时基于UIActionSheet自定义的也将无效果。Apple将UIActionSheet和UIAlertView整合成一个接口UIAlertController。原来的是一个view,展示在window视图之上。现在改成了controller,展示方式变成由当前的controller直接present出来。原创 2014-11-10 20:27:29 · 737 阅读 · 0 评论 -
GCD学习(六) dispatch_async 和dispatch_sync
dispatch_sync(),同步添加操作。他是等待添加进队列里面的操作完成之后再继续执行。dispatch_queue_t concurrentQueue = dispatch_queue_create("my.concurrent.queue", DISPATCH_QUEUE_CONCURRENT); NSLog(@"1"); dispatch_sync(concurre转载 2015-04-03 15:51:11 · 407 阅读 · 0 评论 -
GCD 学习(四) dispatch_group
如果想在dispatch_queue中所有的任务执行完成后在做某种操作,在串行队列中,可以把该操作放到最后一个任务执行完成后继续,但是在并行队列中怎么做呢。这就有dispatch_group 成组操作。比如dispatch_queue_t dispatchQueue = dispatch_queue_create("ted.queue.next", DISPATCH_QUEUE_CONCURR转载 2015-04-03 15:45:37 · 453 阅读 · 0 评论 -
GCD学习(五) dispatch_barrier_async
先看段代码dispatch_queue_t concurrentQueue = dispatch_queue_create("my.concurrent.queue", DISPATCH_QUEUE_CONCURRENT); dispatch_async(concurrentQueue, ^(){ NSLog(@"dispatch-1"); });转载 2015-04-03 15:47:07 · 377 阅读 · 0 评论 -
GCD 学习(一)简介
GCD(Grand Central Dispatch)是从OS X Snow Leopard和iOS 4开始引入的新一代的多线程编程技术。开发者只需定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并有计划的执行任务。并且由于线程管理是作为系统的一部分来实现的,因此系统可以统一管理,它会决定什么时候创建新线程,创建哪些新线程,多个任务是顺序执行还是并发执行。这样转载 2015-04-03 15:39:07 · 535 阅读 · 0 评论 -
GCD学习(七) dispatch_apply
dispathc_apply 是dispatch_sync 和dispatch_group的关联API.它以指定的次数将指定的Block加入到指定的队列中。并等待队列中操作全部完成.NSArray *array = [NSArray arrayWithObjects:@"/Users/chentao/Desktop/copy_res/gelato.ds",转载 2015-04-03 15:52:08 · 424 阅读 · 0 评论 -
GCD 学习(三)Main&Global Dispatch Queue
Main Dispatch Queue是在主线程中执行任务的Dispatch Queue。因为主线程只有1个,所以Main Dispatch Queue是Serial Dispatch Queue。追加到Main Dispatch Queue中的任务将在主线程的RunLoop中执行。因为是在主线程中执行,所以应该只将用户界面更新等一些必须在主线程中执行的任务追加到Main Dispatch Q转载 2015-04-03 15:43:47 · 553 阅读 · 0 评论 -
GCD 学习(八)dispatch_semaphore
dispatch_semaphore 信号量基于计数器的一种多线程同步机制。在多个线程访问共有资源时候,会因为多线程的特性而引发数据出错的问题。dispatch_queue_t queue = dispatch_get_global_queue(0, 0); dispatch_semaphore_t semaphore = dispatch_semaphore_create(1);转载 2015-04-03 15:53:41 · 436 阅读 · 0 评论 -
iOS中打印日志显示系统详细时间,类名,行号,函数名,线程,及打印值
Q:如何打印当前的函数和行号?A:我们可以在打印时使用一些预编译宏作为打印参数,来打印当前的函数和行号。如:NSLog(@"%s:%d obj=%@", __func__, __LINE__, obj);其中__func__和__LINE__都是预编译的宏,编译时会分别替换为当前函数和当前行号。下面是一些常用于打印日志的宏。宏 说明__func__ 打印当前函转载 2015-01-21 10:06:23 · 1306 阅读 · 0 评论 -
Xcode代码中特殊的注释技术——TODO、FIXME和XXX的用法
TODO: + 说明:如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。FIXME: + 说明:如果代码中有该标识,说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。XXX: + 说明:如果代码中有该标识,说明标识处代码虽然实现了功能,但是原创 2014-11-26 16:22:46 · 1626 阅读 · 0 评论 -
GCD 学习(二)dispatch_queue_create创建Dispatch Queue
dispatch_queue_create 用于创建用户线程队列。可以创建Serial/Concurrent Dispatch Queue 两种队列,即串行与并行队列。1. 创建Serial Dispatch Queue。dispatch_queue_t serialQueue = dispatch_queue_create(“com.SerialQueue”, NULL);可转载 2015-04-03 15:42:00 · 700 阅读 · 0 评论