Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事;ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。而在这背后,objc和编译器都帮我们做了哪些事呢,它们是如何协作来正确管理内存的呢?刨根问底,一起来探究下黑幕背后的Autorelease机制吧。
Autorelease对象什么...
分类:
其他好文 时间:
2014-11-03 10:14:04
阅读次数:
206
iOS开发中常用到获取屏幕宽度,高度,为控件设置颜色,MRC下释放内存,为imageView设置图片等等,我们可以将其定义成宏,方便开发使用,可移植性强,可随时拿到工程里使用...
分类:
移动开发 时间:
2014-10-31 15:46:45
阅读次数:
251
单例模式单例模式的作用可以保证程序运行过程,一个类只有一个实例,而且该实例易于供外界访问。从而方便的控制了实例个数,节约了系统资源。单例模式的使用场合在整个应用程序中,共享一份资源(这份资源只需要创建初始化一次)。单例模式在ARC/MRC环境下的写法有所不同,需要编写两套不同的代码。可以用宏判断是否...
分类:
其他好文 时间:
2014-10-21 19:12:31
阅读次数:
139
我封装好了2个方法,用来字典和data相互转换的,直接复制方法拿来用就可以了,注意2点:
1.我是用的mrc,用arc的同学把autorelease去掉即可。
2.第二个我是路径文件转的字典,想data转的话自己把方法改一下就行了。
//字典转data
+(NSData *)returnDataWithDictionary:(NSDictionary *)dict
{
...
分类:
其他好文 时间:
2014-10-18 12:40:20
阅读次数:
149
1、网上找的这个是MRC代码: UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectZero]; CGRect pickerRect = CGRectMake(680, 60, 100, 650); ...
分类:
其他好文 时间:
2014-10-17 21:46:20
阅读次数:
133
加入以下指令/* 启动ICACHE */ mrc p15,0,r0,c1,c0,0 // read control reg orr r0,r0,#(1<<12) mcr p15,0,r0,c1,c0,0 // write it back1.MRC指令将协处理器的寄存器中数值传送到ARM处...
分类:
其他好文 时间:
2014-10-04 14:22:46
阅读次数:
188
哥当初钻牛角尖钻了一个通宵才理解出来的。1 创建对像需要使用某个类,当对像实释放的时候会自动调用这个类的dealloc方法。所以每个类有自己的dealloc方法,当别的类创建的对象被释的时候,自动调用的dealloc方法是属于另一个类的,与本类的dealloc方法无关。2 circle类里的方法调用...
分类:
其他好文 时间:
2014-09-27 01:47:48
阅读次数:
295
OS5.0以后就开始可以使用ARC(AutomaticReferenceCounting:自动引用计数)来代替之前的MRC(ManualReferenceCounting:人工引用计数)。使用ARC会减少很多代码和忘了释放对象的苦恼。但是事情都有两面性。使用了ARC之后如果你想复用以前写过的使用MRC的类,就会出报错。这时候..
分类:
其他好文 时间:
2014-09-24 20:47:08
阅读次数:
199
OS5.0以后就开始可以使用ARC( Automatic Reference Counting:自动引用计数 )来代替之前的MRC(Manual Reference Counting:人工引用计数)。使用ARC会减少很多代码和忘了释放对象的苦恼。但是事情都有两面性。使用了ARC之后如果你想复用以前写过的使用MRC的类, 就会出报错。这时候怎么办?方法比较简单, 只需要做下面的一个步骤就可以解决:
...
分类:
移动开发 时间:
2014-09-24 19:41:27
阅读次数:
236
一、计数器的基本操作1> retain : +1,方法返回的是对象本身2> release :-13> retainCount : 获得计数器4> dealloc* 当一个对象要被回收的时候,就会调用 * 一定要调用[super dealloc],这句调用要放在最后面2.概念1> 僵尸对象 :所占....
分类:
其他好文 时间:
2014-09-14 23:29:17
阅读次数:
363