自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cocoapods安装pod setup error解决方法

重装了电脑系统,cocoapods安装过程中总会遇到各种问题,最常碰到的是pod setup 失败 终端提示 [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master Cloning into ‘master’… error: RPC failed; curl 18 transfer closed with ou

2016-12-14 14:09:33 1076

原创 类的Load和initialize方法

load: load方法在类加载进运行时系统(runtime)时会调用,在main函数之前,不管你有没有用到这个类调用顺序:先执行父类load方法,然后执行子类的load方法,load 方法不遵从继承规则,如果类本身没有实现load方法,那么系统就不会调用,不管父类有没有实现load方法是线程安全的 load 方法中最常用的就是方法交换method swizzlinginitialize

2016-10-17 18:58:35 390

转载 xcode删除本地git代码管理

创建工程时如果勾选了create local git,或者svn checkout出来的工程带git代码管理功能,如何删除呢? 将工程退出,打开终端,执行下面语句:cd 工程路径(直接将工程文件拖拽至此)find . -type d -name “.git”|xargs rm -rf这时候再打开工程文件,之前的”M”标志消失,则表明操作成功!

2016-09-28 15:38:38 5134

转载 __block和__weak修饰符的区别

__weak与__block修饰符区别 API Reference对__block变量修饰符的解释,大概意思:1.__block对象在block中是可以被修改、重新赋值的。 2.__block对象在block中不会被block强引用一次,从而不会出现循环引用问题。API Reference对__weak变量修饰符的解释,大概意思:使用了__weak修饰符的对象,作用等同于定义为weak的pro

2016-09-27 15:15:35 223

原创 code_snippet 自定义代码块

平时有一些经常使用到的并且可复用的代码,可以用代码块的方式封装,这样能大大提高开发效率,至少能让你少些很多重复代码比如swift懒加载属性,Lazy var因为没有代码补全,所以写起来不方便,就用代码块的方式保存好,定义个快捷键(shortCut),方便很多 注意:name, type是用<#name#>, <#type#>做文本封装选中你要生成代码的代码,左键拖入代码块编辑区,生成自定义代码块

2016-08-03 11:21:37 421

转载 Reveal + 越狱真机查看第三方app的UI结构

偶尔不免有需要查看第三方app UI结构的时候,这篇文章讲得非常详细 http://www.jianshu.com/p/4dc8f94ca27c

2016-06-07 09:45:18 384

转载 关于Runloop

想用比较通俗点方式解释下Runloop大致是什么东西,什么原理。一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出,runloop就是为了实现这种机制而存在。RunLoop 实际上就是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一个入口函数(内部主要是一个do-while 循环),来实现接收消息-等待-处理的循环,直到这个

2016-03-19 16:40:37 235

原创 CATransform3D 透视的形变效果

翻转透视效果 CATransform3D trans = CATransform3DIdentity; trans.m34 = 1.0/100; trans = CATransform3DRotate(trans, 15.0f * M_PI/180.0f, 1, 0, 0); 效果如下: transform的结构如下: struct CATransform3D

2016-03-08 17:07:59 1522

原创 弹性动画方法animateWithDuration: delay: usingSpringWithDamping: initialSpringVelocity: options: animations

这个动画效果是从IOS7开始有的,个人觉得动画效果的用户体验很好,用起来也方便,但是这里面的dampingRatio和velocity涉及到物理力学的知识,比较难理解和计算,只能通过Demo试验来理解它所代表的意思。通过形象生动的比喻来理解它。附上原英文文档解释 /* Performs animations using a timing curve described by the motion

2015-08-19 14:06:54 6210

原创 关于进程和线程比较好的一个解释

进程和线程的区别,这是一个许多程序员面试会碰到的问题,本人非计算机专业出身,所以被问到这种基础问题的次数更多,也看过很多解释,下面这个算是比较不错的一个解释:进程(process),指的是一个正在运行中的可执行文件。每一个进程都拥有独立的虚拟内存空间和系统资源,包括端口权限等,且至少包含一个主线程和任意数量的辅助线程。另外,当一个进程的主线程退出时,这个进程就结束了。线程(thread),指的是一个

2015-08-09 08:57:52 325

原创 断点的使用技巧(未完待补充)

断点的使用技巧在最初的时候不会用断点,碰到循环里特点条件断点或者特定条件下查看对象的状态属性时,我会傻傻的的去写个if语句,然后重新运行,断点完了后运行,然后再把if和log代码删除,非常低效,其实断点是可以设置属性的。断点有4个属性可以设置ConditionIgnoreOptionActionConditon, 就是断点条件,输入条件表达式后,当符合条件时断点才会

2015-08-07 20:58:12 544

转载 RSA机密算法原理

http://blog.csdn.net/sunmenggmail/article/details/11994013

2015-05-18 16:35:24 508

原创 NSString类型copy和strong属性的区别

和一般类型的copy以及strong有所不同 如果原字符是NSString类型,那么copy和strong的操作效果是一样的,都是对原字符串的引用计数+1,只是一次浅拷贝。 如果原字符串是NSString的子类NSMutableString, 那么strong的效果还是和原来一样,对该字符串进行了一次浅拷贝(引用计数+1), 而copy是则是进行了一次深拷贝,产生一个新的对象,而新对象的类型是N

2015-05-15 09:18:33 322

转载 Objective-C消息机制

ios开发,objective-c消息发送机制原理

2015-04-08 10:01:35 341

原创 objective-c Block实质

一. Block本质 用一句话描述就是Block是带有自动变量值的匿名函数,举一个简单的例子 void(^blk)(void) = { printf(“Block\n”)}; blk(); 系统底层是这样实现的 1. 创建一个结构体(命名为main_block_imp); struct main_Block_imp{ void *FunctPtr; //

2015-04-02 16:27:55 405

原创 touchesBegan: withEvent:触摸事件传递顺序

(void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event;(void)touchesMoved:(NSSet )touches withEvent:(UIEvent )event;(void)touchesEnded:(NSSet )touches withEvent:(UIEvent )event;(void)touchesCa

2015-03-23 14:07:07 609

空空如也

空空如也

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

TA关注的人

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