随笔分类 -  Objective C

CocoaPods
摘要:使用ruby的gem命令更新gem:sudo gem update --system列出ruby软件源:gem sources -l移除ruby软件源:gem sources --remove https://rubygems.org/添加ruby软件源:gem sources -a http://... 阅读全文

posted @ 2015-12-10 11:25 gjcat88 阅读(131) 评论(0) 推荐(0)

添加pch文件
摘要:pch: pre-compile header首先为工程添加一个pch格式的文件。build setting 中找到Precompile Prefix Header 选项,设置为YES。build setting 中找到 Prefix Header 选项,设置pch文件路径。$(SRCROOT)/C... 阅读全文

posted @ 2015-12-10 11:03 gjcat88 阅读(97) 评论(0) 推荐(0)

Category
摘要:优点:1.增加方法不需要继承。2.类的实现分散化。3.前向引用。在其他地方使用类(或者Category)的私有实现时(会报错,编译不能通过),只需要在文件中添加一个声明了私有方法的Category,该方法只需要声明不需要实现,Runtime会找到实现。4.私有委托。(不知道咋回事)缺点:1.不能添加... 阅读全文

posted @ 2015-12-08 17:37 gjcat88 阅读(124) 评论(0) 推荐(0)

iOS渲染
摘要:VSync:iOS渲染由VSync信号驱动。VSync有硬件始终驱动,频率为60hz。VSync通过mach port通知APP的Runloop(可能通过调用CADisplayLink)。APP内流程:Core Animation(CA)在Runloop中注册 BeforeWaiting(即将休眠)... 阅读全文

posted @ 2015-12-07 19:41 gjcat88 阅读(332) 评论(0) 推荐(0)

GCD相关
摘要:1,三类队列:global(high,default,low,background);main;create(serial,concurrent)。2,serial串行执行多个任务,每个任务一个线程,开销很大。3,group同步可以使用dispatch_group_wait 或者 dispatch_... 阅读全文

posted @ 2015-12-03 09:35 gjcat88 阅读(160) 评论(0) 推荐(0)

dispatch_release & dispatch_retain
摘要:sdk6.0以前不管arc或者none-arc都需要手动retain和release GCD 对象。sdk6.0以后GCD对象可以有arc处理。不需要手动retain和release。#if !OS_OBJECT_USE_OBJC //这个宏是在sdk6.0之后才有的,如果是之前的,则OS_OBJE... 阅读全文

posted @ 2015-12-02 17:07 gjcat88 阅读(275) 评论(0) 推荐(0)

OC消息转发
摘要:1. 动态方法解析。+resolveInstanceMethod:(实例方法)或者+resolveClassMethod:(类方法)动态为类增加实例/类方法。2. 备用接收者。-(id)forwardingTargetForSelector:(SEL)aSelector 将消息转发给其他对象处理。只... 阅读全文

posted @ 2015-11-30 19:48 gjcat88 阅读(155) 评论(0) 推荐(0)

@synchronized
摘要:1.@synchronized(obj),obj的retainCount不会增加。2.@synchronized(obj),会为代码添加隐藏的异常处理。3.@synchronized(obj),代码段中出现obj=nil,不会影响其他线程执行,但是会影响线程同步。4.@synchronized(ob... 阅读全文

posted @ 2015-11-30 17:47 gjcat88 阅读(132) 评论(0) 推荐(0)

load & initialize
摘要:+(void)load+(void)initialize执行时机在程序运行后立即执行在类的方法第一次被调时执行若自身未定义,是否沿用父类的方法?否是类别中的定义全都执行,但后于类中的方法覆盖类中的方法,只执行一个load & initialize方法不需要调用父类的方法。Runtime调用load的... 阅读全文

posted @ 2015-11-26 16:06 gjcat88 阅读(110) 评论(0) 推荐(0)

Block
摘要:三种Block1.NSGlobalBlock:存储在全局空间(text段),没有引入局部变量的Block2.NSStackBlock:存储在栈空间,none-arc模式下声明的Block3.NSMallocBlock:存储在堆空间,arc模式下声明的Block,或者[2 copy]后的Block。H... 阅读全文

posted @ 2015-11-25 19:00 gjcat88 阅读(130) 评论(0) 推荐(0)

导航