自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于GCD中串行队列、并发队列和同步执行、异步执行的探讨

Dispatch QueuesDispatch queue是一个对象,它可以接收任务,并将任务以先到先执行的顺序来执行。Dispatch queue可以使并发的或串行的。并发任务会基于系统负载来合适地并发执行,串行队列同一时间只执行单一任务。GCD共有三种队列类型:1、mainqueue:通过dispatch_get_main_queue()获得,这是一个与主线程相关的串行队列。

2016-06-30 15:07:55 4496

原创 用AVFoundation实现扫描二维码功能

需要用到的只要几个类:AVCaptureSession:管理输入和输出流,包含开启和停止会话方法AVCaptureDeviceInput:是AVCaptureInput的子类,可以作为输入捕获会话,用AVCaptureDevice实例初始化AVCaptureDevice:代表了物理捕获设备如摄像机。AVCaptureMetadataOutput:是AVCaptureOutput的子

2016-06-30 09:30:44 986

原创 往github上面提交项目

写了一个好的demo,想分享到github上面,具体分为以下几个步骤:1、首先你得有一个github账号,现在去注册吧https://github.com/2、登录后,点击右上角的这个按钮: 然后:3、目前我们刚创建的这个仓库还是空的,Github告诉我们,可以从这个仓库克隆出新的仓库,也可以吧一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到

2016-06-30 08:46:25 306

原创 Swift学习笔记1

最近在学Swift,记录一下自己遇到的问题吧。       想一起自学的朋友可以从这学习基础部分:点击打开链接笔记部分:1、as!和as?的区别as?返回的是显式可选类型,赋值时需要可选绑定值:let nameSpace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable”]as? Stringlet

2016-06-23 17:51:58 243

原创 OC中的位移枚举

想要了解位移枚举,得先熟悉位运算符。主要是两个,’ | ‘和 ‘ & ‘。和逻辑运算符’ || ‘ ‘ && ‘不同,位运算符是对二进制数字按位进行与或操作。比如2&3,就是把2和3先转换为2进制数10和11,再按位作与运算,得到结果10,即2。同理,2|3结果为11,即3。下面具体举个例子。先自定义一个位移枚举:typedef NS_OPTIONS(NSUInteger, Act

2016-06-16 10:05:22 1576

原创 关于runtime的objc_getClass和object_getclass

objc_getClass参数是类名的字符串,返回的就是这个类的类对象;object_getClass参数是id类型,它返回的是这个id的isa指针所指向的Class,如果传参是Class,则返回该Class的metaClass。 Class currentClass = [self class]; const char *a = object_getClassName(current

2016-05-10 10:40:41 8402 1

原创 灵活式的collectionview的header

今天遇到了这么一个需求,有四个标签栏控制下面一个collectionview的刷新,其中点到第二个标签的时候需要显示header,照常规办法新建了一个类继承自UICollectionReusableView,然后collectionview注册了一下[collectionView registerNib:[UINib nibWithNibName:@"EducationHeaderView" bun

2016-04-27 15:00:39 544

原创 UIView的bounds和frame学习

bounds是一个UIView自身的坐标系,默认一个view的左上角在其自身坐标系原点(0,0)上,所以一般我们打印出来的bounds的origin都是零坐标。真正决定UIview位置的还是frame里面的orgin,或者是center,改变bounds的origin实际上是改变UIView左上角相对其自身坐标系原点的位置,而由于frame不变,故view的位置不会发生改变,发生改变的只是其自身坐

2016-02-17 14:37:03 242

原创 Quartz 2D(续)

关于图像绘制:如果不做变换,直接使用Core Graphics的方法绘制image则你会看到一张倒立的图片,这是因为在Core Graphics框架中坐标系与UIKit坐标系是不同的,一个原点在左上角,一个原点在左下角。但你可能会疑惑为何在之前绘制其他图形时没出现这种情况呢,这是因为UIKit统一了编程方式。解决办法有两种,一种是使用UIKit封装的方法来绘制image,二是对上下文进行缩放变

2015-10-09 15:06:35 211

原创 Quartz 2D简单复习

这只是我对一篇美文的简单总结,想要更细致的学习请跳转原地址点击打开链接。       Quartz 2D是Core Graphics框架的一部分,是一个二维图像绘制引擎。UIKit框架封装了Quartz 2D,因此我们平时开发用到的组件都是由Core Graphics来绘制的。Core Graphics框架会在引入UIKit时自动引入,并且为了方便开发者UIKit还对其基本功能做了简单的封装。

2015-10-09 09:48:04 259

原创 关于NSArray的copy

按照我们的习惯,我们在property属性时一般只对NSString类型和block才加copy关键字,对此我也曾疑惑,网上很多解释是对于NSString是为了保证其不可变性,因为用strong只是使对象的引用计数器加一,如果我们用父类指针(NSString *)指向子类对象(NSMutablestring)的话,子类对象发生改变会造成NSString同样改变,因为两个指针实际是指向一个对象,所以

2015-08-13 17:20:11 721

空空如也

空空如也

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

TA关注的人

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