自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 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 386

转载 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 384

转载 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 367

转载 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 351

转载 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 424

转载 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 504

转载 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 576

转载 GCD 学习(一)简介

GCD(Grand Central Dispatch)是从OS X Snow Leopard和iOS 4开始引入的新一代的多线程编程技术。开发者只需定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并有计划的执行任务。并且由于线程管理是作为系统的一部分来实现的,因此系统可以统一管理,它会决定什么时候创建新线程,创建哪些新线程,多个任务是顺序执行还是并发执行。这样

2015-04-03 15:39:07 494

转载 iOS中打印日志显示系统详细时间,类名,行号,函数名,线程,及打印值

Q:如何打印当前的函数和行号?A:我们可以在打印时使用一些预编译宏作为打印参数,来打印当前的函数和行号。如:NSLog(@"%s:%d obj=%@", __func__, __LINE__, obj);其中__func__和__LINE__都是预编译的宏,编译时会分别替换为当前函数和当前行号。下面是一些常用于打印日志的宏。宏    说明__func__    打印当前函

2015-01-21 10:06:23 1163

原创 Xcode代码中特殊的注释技术——TODO、FIXME和XXX的用法

TODO: + 说明:如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。FIXME: + 说明:如果代码中有该标识,说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。XXX: + 说明:如果代码中有该标识,说明标识处代码虽然实现了功能,但是

2014-11-26 16:22:46 1560

原创 处理从服务返回的NSDictionary值为NSNull或者<null>问题

在APP开发过程中,我们有时候要从服务器加载数据时,一般是都是用json或者xml解析后用NSDictionary保存,但是从服务器加载过来的数据直接使用时会崩溃,是因为在NSDictionary中的某个值为或者NSnull ,但是我们用一般的检查根本检查不出来,如 if( [obc objectForKey:key]==nil) 没有效果,这时候就要对NSDictionary的中值做处理了,把N

2014-11-26 16:18:22 4339

原创 UIAlertView和UIActionSheet的IOS8兼容

IOS8中,UIActiconSheet已被废弃,同时基于UIActionSheet自定义的也将无效果。Apple将UIActionSheet和UIAlertView整合成一个接口UIAlertController。原来的是一个view,展示在window视图之上。现在改成了controller,展示方式变成由当前的controller直接present出来。

2014-11-10 20:27:29 695

转载 如何才能跟 App Store 审核团队有效沟通?

[email protected]应用在提交后(处于“审核中”),应用和应用内购的状态-状态更新通知——与开发者遭拒和影响审核时间相关的信息-应用遭拒通知咨询-快速审核请求[email protected] 支付状态查询- 与苹果向开发者支付费用相关的问题- 咨询财务报表--

2014-10-21 10:14:09 1390

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除