自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lunarboat的博客

菜鸟一枚 请多指正

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

转载 KVO的原理和简单实现

转载自http://nshipster.cn/key-value-observing/前言:在 Objective-C 和 Cocoa 中,有许多事件之间进行通信的方式,并且每个都有不同程度的形式和耦合NSNotification & NSNotificationCenter 提供了一个中央枢纽,一个应用的任何部分都可能通知或者被通知应用的其他部分的变化。唯一需要做的是要知道在寻找什么,主要是通知

2015-10-25 11:30:14 595

原创 CGContextRef CGMutablePathRef UIBezierPath

直接上代码用三种方式画个笑脸- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //用三种方法画脸, //1.用CGMutablePathRef [self paintFaceWit

2015-10-23 20:59:56 437

原创 谈谈runloop

其实就真的只是谈谈因为runloop这东西就像空气,你什么时候都在使用它,却感觉不到它的存在什么是runlooprunloop是事件接收和分发机制的一个实现 (我忘了从哪查的,这话说的多高大上)通俗一点说当需要和该线程需要交互的时候,会使用runloop。主线程默认有runloop。runloop存在时,此线程不会被系统销毁。(其实每个线程都有runloop,详细后面说)。 所以当我们需要让该线程

2015-10-23 20:54:24 409

原创 静态库与动态库的制作与使用

静态库与动态库的制作与使用什么是库?库是共享程序代码的方式,一般分为静态库和动态库。静态库链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。iOS里静态库形式?.a形式 和 Framework动态库形式.dylib和.framework为什么Framework既是静态库又是动态库系统的.

2015-10-23 20:21:12 400

原创 iOS 中常用的遍历方法

经典for循环稳定for in (NSFastEnumeration) 适合大规模遍历,不适合小规模遍历makeObjectsPerformSelector 大规模遍历还行,没for in牛kvc集合运算符不适合做大规模遍历enumerateObjectsUsingBlock 不优势不劣势enumerateObjectsWithOptions(NSE

2015-10-18 18:48:16 939

翻译 block 和 delegate (摘自stackoverflow )

block和delegateblock确实比delegate要方便的多,但是遇到要用同一个对象处理许多事件,用block一个一个注册是不是很繁琐呢?一些委托方法可以有返回的值真的很有用,delegate可以监听到过程信息,而block注重结果也许delegate的处理速度上要比block更快点吧,运行成本低delegate只做了保存一个对象指针,直接回调,b

2015-10-18 17:06:00 272

原创 iOS开发注意⚠ 持续更新

目录结构:应该以主目录按照模块分类,内目录按照业务分类一、轻文档先行为什么?1.需求本身就存在问题,代码写一半才发现2.部分需求没有表达清楚,发现的时候去沟通,结果发现与原来的代码冲突3.代码写一半时候,思路不清晰了,没有大纲文档写什么?1.准备工作数据库表准备;抽象出模型类;  接口协

2015-10-18 16:54:00 357

原创 对象之间的调用机制 通信方式

1.直接方法调用2.Target-Action @selector()3.Delegate 协议4.block(回调)5.KVO6.通知(NSNotification)确定使用方式1.判断通信对象是一对一的还是一对多的(一般一对一的是1,2,5,一对多是3,4,6)2.对象之间的耦合度,是强耦合还是松耦合(尽量让所有模块解

2015-10-18 16:51:26 2616

原创 浅表核心动画

核心动画实践_layer = [CALayerlayer];[self.view.layeraddSublayer:_layer];_layer.frame =CGRectMake(110,200, 80, 80);_layer.backgroundColor = [[UIColorredColor]CGColor];_layer.b

2015-10-18 16:34:02 302

原创 RunTime小试身手

Runtime运行机制runtime是一套比较底层的纯C语言API,属于1个C语言库,包含了很多底层的C语言API。在我们平时编写的OC代码中,程序运行过程时, 其实最终都是转成了runtime的C语言代码, runtime算是OC的幕后工作者OC : [[MJPerson alloc] init] runtime : obj

2015-10-18 15:23:50 553

原创 property 描述 之copy assign retain strong weak

先说后面的retain strong 和weakretain 和 strong是在MRC和ARC下面的不同表现形式,在ARC下,如果你用retain,会把retain转换成strong,不过两者还是有小的差别,这里不细究,自行百度(好吧,其实我不知道,过两天补充),这个就是把引用计数加一,一般对象都用这个,后面会总结weak就是说明它是弱引用,如果它所依附的强引用释放掉,它也会跟着释放

2015-10-10 14:56:24 289

原创 GCD

GCD简介GCD本身是苹果公司为多核的并行运算提出的解决方案可以创建自己的dispath queue,而且可以创建任意多个。GCD的dispath queue严格遵循FIFO(先进先出)原则,添加到dispath queue的工作单元将始终按照加入dispath queue的顺序启动。dispatch queue按先进先出的顺序,串行或并发地执行任务1> ser

2015-10-09 15:45:33 318

原创 iOS9的 NSURLSession

鉴于更新到Xcode7.0后,基本NSURLConnection的方法废的废,删的删,很明显,苹果应该是不建议用NSURLConnection了,好吧,我这么乖,那咱慢就研究研究NSURLSessionSession,字面意思就是会话

2015-10-08 19:27:21 277

原创 NSthread&NSOperation&GCD

1.Thread:是三种方法里面相对轻量级的,但需要管理线程的生命周期、同步、加锁问题,这会导致一定的性能开销(很少使用)2.Cocoa Operations:是基于OC实现的,NSOperation以面向对象的方式封装了需要执行的操作,不必关心线程管理、同步等问题。NSOperation是一个抽象基类,iOS提供了两种默认实现:NSInvocationOperation和NSBloc

2015-10-08 15:43:37 501

原创 UITableViewCell高度自适应Label高度

一般在开发的时候,写的Cell, 一般不会是绝对等高的,宽就不说了,一般就那么宽高度随着cell里面内容的变化而变化的情况是常有的事作为一枚菜鸟,我就知道两种方法可以让cell自适应高,先说一种不用自动布局的1.自适应cell高(手动版)核心方法:这个方法只能在iOS7之后使用,之前的方法很麻烦,就不说了(说白了就是根据字体大小计算你要填进去的字符串的size,前提是label的行

2015-10-08 14:24:16 2376

原创 ViewController的加载的生命周期

ViewController Lifecycle加载控制器出现前的工作Instantiated(from storyboard usually)awakeFromNibsegue preparation happensoutlets get setviewDidLoad这一部分在控制器的视图出现或消失调用viewW

2015-10-08 11:36:11 295

原创 Swift项目导入OC文件 & OC项目导入Swift文件

创建swift项目调用oc代码在swift里创建oc类 或者导入OC文件会提示创建一个桥接文件下面就是那个桥接文件内容////  Use this file to import your target's public headers that you would like to expose to Swift.////包含所有Swi

2015-10-08 11:23:27 1755

原创 AFNetWorking & ASI

网上也能搜到一堆这两个的区别,我大概总结了一下ASI的性能似乎全面优于AFN,那下边从二者的实现原理上看一下到底是什么原因造成这种差距。一、底层实现(ASI较AFNetworking更底层,所以ASI的效率会高一点)1、AFN的底层实现基于OC的NSURLConnection和NSURLSession 2、ASI的底层实现基于纯C语言的CFNetwork框架

2015-10-07 20:34:37 431

原创 菜鸟iOS 开发之MVC MVVM ReactiveCocoa

菜鸟对MVC MVVM RAC 初探

2015-10-07 19:59:03 557

Cocos2d-x 3.x游戏开发之旅_完整版PDF电子书

Cocos2d-x 3.x游戏开发之旅_完整版PDF电子书 上次传过一个给弄错了 而且我也不知道怎么把上次上传的那个删掉 看清楚 这个才是 完整版

2015-07-30

空空如也

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

TA关注的人

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