答案:必需要操心啊,ARC也不是万能的。这里主要是涉及到集合类的数据类型。比方数组,我们定义了一个可变数组muarr1,然后把一个对象p1加到muarr1中,此时会对这个对象retain一次,相当于retainCount+1,仅仅有当这个数组removeObject:p1删除这个对象时、或者这个数组...
分类:
移动开发 时间:
2015-01-01 13:36:37
阅读次数:
126
关键字:ARC __weak __block__weak不增加引用,__block增加引用。举例:对象内有一个强引用的block成员变量,此成员变量又强引用该对象,若对象不经过__weak处理,则二者循环引用。参考:http://www.cocoachina.com/bbs/3g/read.php?...
分类:
移动开发 时间:
2014-12-30 18:55:16
阅读次数:
722
A.概念 @property 的修饰词 strong: 强指针/强引用(iOS6及之前是retain) weak: 弱智真/弱引用(iOS6及之前是assign) 默认情况所有指针都是强指针 使用 "__weak" 修饰的指针是弱指针 ARC准则:只要没有强指针指向,对象就会被销毁 @propert...
分类:
移动开发 时间:
2014-12-28 01:43:35
阅读次数:
147
源地址:http://fann.im/blog/2013/12/25/corefoundation-bridge-nsobject/CoreFoundation 有自己的引用计数处理方法,在 CF 下如果生成对象的方法中有 create、retain、copy 就表示 CF 会用自己的方式对引用计数...
分类:
移动开发 时间:
2014-12-28 00:27:24
阅读次数:
171
一般在ARC管理的方式之下,很难出现对象被过度释放的问题,下面是我将遇到的一个crash。* thread #1: tid = 0x31d1db, 0x0000000102e5e00b libobjc.A.dylib`objc_msgSend + 11, queue = 'com.apple.mai...
分类:
其他好文 时间:
2014-12-27 01:31:22
阅读次数:
193
IOS开发问题解决方法索引(二)
1 不使用ARC编译,-fno-objc-arc
ios5 选择了ARC但是不使用ARC编译,-fno-objc-arc
http://leobluewing.iteye.com/blog/1384797
http://blog.cnrainbird.com/index.php/2012/03/13/object-c_kai_fa_z...
分类:
移动开发 时间:
2014-12-24 20:10:35
阅读次数:
274
@autoreleasepool{}ARC模式下:1.[p autorelease]; 只会将p放入pool中,不会立即release(即 retain - 1),延迟至pool销毁时。2.在pool销毁时,其中的所有对象都将进行release。3.若开辟多线程时(如:[self performSe...
分类:
其他好文 时间:
2014-12-23 20:55:03
阅读次数:
158
最近再看CoreText其中有很多地方需使用了__bridge或者CFBridgingRelease 作为菜鸟不太理解什么意思于是百度了下大体回答是这样的CFObject和NSObject转换的问题,由于ARC不能管理Core Foundation Object的生命周期,所以在Core Found...
分类:
其他好文 时间:
2014-12-23 19:24:23
阅读次数:
129
iOS5.0以后就开始可以使用ARC来代替之前的MRC。但在一些新手写ARC项目中, 用到了之前其他人的MRC类,就会出报错。同样的一些酷爱MRC的程序员用到别人的ARC的类的时候,也会报错!这时候怎么办?方法比较简单,只需要做下面的一个步骤就可以解决:ARC项目中想使用MRC的类, 需要在targ...
分类:
其他好文 时间:
2014-12-23 15:07:30
阅读次数:
126
看到此篇文章,就当作你已经学习好了面向对象的基本。
我们现在要介绍的是oc 关于内存的一系列介绍。
之前你也看到在第一片文章中。@@autoreleasepool
这个是在Xcode4.2及之后的版本中由于引入了ARC(Automatic Reference Counting)机制,
程序编译时Xcode可以自动给你的代码添加内存释放代码
但是在ObjC中没有垃圾回...
分类:
其他好文 时间:
2014-12-22 22:47:30
阅读次数:
227