摘要: 概念当我们使用强参照(Strong reference)时,往往需要留意循环参照的问题。循环参照指的是两个对象被互相强参照,以至于任一对象都不能释放。一般情况下,当对象之间有“父子关系”时,强参照的情况发生的比较多。比如通讯薄对象AddrBook和每个通讯录Entry的关系如下。这种情况下,由于Entry对象被AddrBook强参照,所以不能释放。另一方面,如果Entry被释放了,AddrBook对象的强参照也就没有了,其对象也应被释放。解决方式像上面的例子,当多个对象间有“父子关系”时,需要在一侧用“弱参照”来解决循环参照问题。一般情况下,“父亲”作为“孩子”的拥有者,对“孩子”是强参照,而 阅读全文
posted @ 2012-05-10 00:13 TsengYuen 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 根据苹果官方的文档(https://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html):__bridge只做类型转换,但是不修改对象(内存)管理权;__bridge_retained(也可以使用CFBridgingRetain)将Objective-C的对象转换为Core Foundation的对象,同时将对象(内存)的管理权交给我们,后续需要使用CFRelease或者相关方法来释放对象;__bridge_transfer(也 阅读全文
posted @ 2012-05-10 00:12 TsengYuen 阅读(3808) 评论(0) 推荐(0) 编辑