下载地址: http://code4app.com/ios/TQRichTextView/5244fe9c6803fa0862000000 1.首先找到AppDelegate类.不管一个project有多么复杂,多么多的类.但入口仅仅有一个就是AppDelegate类的didFinishLaunchingWithOptions方法.我们阅读别人源码的时候能够从这里入手. 在TQRichTextViewDemoproject中.这种方法中仅创建了一个TQViewController并设置为wind…
再C语言中关于内存是一个很重要的知识点,所以今天我就从c语言的内存分配开始为大家解析一下C语言再iOS开发中非常重要的一些知识. 1:malloc函数的介绍 C语言中开辟内存空间:malloc函数(堆) 再C语言中malloc原理大致是这样的: malloc函数的实质体现在,它有一个将可用的内存块连接为一个长长的列表的所谓空闲链表.调用malloc函数时,它沿连接表寻找一个大到足以满足用 户请求所需要的内存块.然后,将该内存块一分为二(一块的大小与用户请求的大小相等,另一块的大小就是剩下的字节)…
一.引言 在iOS开发中使用动画时,可以通过设置动画的duration.speed.begintime.offset属性,来设置动画的时长.速度.起始时间及起始偏移. 用一个简单的例子来说明各个参数的的作用.动画很简单,一个红色的方块从左移到右边.动画的持续时间是1s,没有重复,效果如下. CFTimeInterval currentTime = CACurrentMediaTime(); CFTimeInterval currentTimeInLayer = [self.testLayer c…
[前提知识] ARC:Automatic Reference Counting,自动引用计数 在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动 retain.release.autorelease 等,而在其后的版本可以使用 ARC,让系统自己管理内存. [问题] 在项目开发过程中我们通常会用到第三方提供的源代码,麻烦的是有些开源项目用的是 ARC,有的用的是非 ARC. 我在使用 SVProgressHUD 做等待视图时遇到问题,最终发现该项目使用的是…
[前提知识] ARC:Automatic Reference Counting,自动引用计数 在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动 retain.release.autorelease 等,而在其后的版本可以使用 ARC,让系统自己管理内存. [问题] 在项目开发过程中我们通常会用到第三方提供的源代码,麻烦的是有些开源项目用的是 ARC,有的用的是非 ARC. 我在使用 SVProgressHUD 做等待视图时遇到问题,最终发现该项目使用的是…
接上篇,本篇主要讲解通知和 KVO 不移除观察者.block 循环引用 .NSThread 和 RunLoop一起使用造成的内存泄漏. 1.通知造成的内存泄漏 1.1.ios9 以后,一般的通知,都不再需要手动移除观察者,系统会自动在dealloc 的时候调用 [[NSNotificationCenter defaultCenter]removeObserver:self].ios9以前的需要手动进行移除. 原因是:ios9 以前观察者注册时,通知中心并不会对观察者对象做 retain 操作,而…
ios自从引入ARC机制后,一般的内存管理就可以不用我们码农来负责了,但是一些操作如果不注意,还是会引起内存泄漏. 本文主要介绍一下内存泄漏的原理.常规的检测方法以及出现的常用场景和修改方法. 1. 内存泄漏原理 内存泄漏的在百度上的解释就是“程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果”. 在我的理解里就是,公司给一个入职的员工分配了一个工位,但是这个员工离职后,这个工位却不能分配给下一位入职的员工使用,造成了大量的资…
Subversion 1.7 provides many benefits: svn1.7版本有以下好处: Improved performance. Increased speed for many common source control operations, most notably a significant increase in checkout speed.//改良性能 使souce control的各项操作速度提高,更显著地是提高了co的速度 Blame for modifi…
最近在开发中遇到需要Cell中imageView和textLable位置和大小的情况,设计希望得到的结果如下图所示: 而TableViewCell默认样式,image是靠紧左边的,并且image和title之间的间隙较小 为实现设计中的效果,我们需要继承UITableViewCell,对cell.imageView.frame.cell.textLable.frame进行设置,控制它们大小和位置. - (void)layoutSubviews { [superlayoutSubviews]; s…
项目中开发中需要对一些数据进行加密后和服务器验证是否是我们客户端发出的请求! 方案是服务器定的,使用HmacSHA1加密和MD5 Base64加密 加密过程比较复杂 1.获取格林威治时间 2.用base64编码对请求数据内容进行MD5值计算 3.设置请求格式 4.设置鉴权信息,需要对上面的3个内容以及请求的链接 进行HMacSHA1再次进行加密 加密过后把上面4步获得的值加入到http的请求头中,一并发送给服务器,服务器经过验证后,才返回给我们我们想要的信息 下面贴代码说明我们使用的两个加密 首…