block内存管理

使用block很容易造成循环引用。最好在基类controller里重写dealloc方法,加一句打印日志,表示类可以得到释放。如果出现循环引用了,对于block中需要外部引用controller的属性或者成员变量时,一定要使用弱引用,特别是成员变量。

对于普通所创建的对象,因为现在都是ARC项目,所以记住内存管理的黄金法则就可以了。在Object-C中,内存的管理是通过retain和release来对对象的计数器进行加1或者减1来进行管理,当使用一个对象的时候需要进行对对象的计数器加1,使用完成后要减1进行释放,当计数器等于0的时候对象进行销毁。

内存管理的黄金法则就是,当你对一个对象使用retain的时候,一定要进行relase释放。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Block简介(copy一段) Block作为C语言的扩展,并不是高新技术,和其他语言的闭包或lambda表达式是...
    qui丶MyLove阅读 441评论 0 0
  • 参考文档1:BlocksRuntime/runtime.c参考文档2:BlocksRuntime/Block_pr...
    破弓阅读 895评论 0 4
  • Block类型 根据Block在内存中的位置,系统把Block分为3类:NSGlobalBlock,NSStack...
    成热了阅读 572评论 0 0
  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 2,014评论 1 16
  • 说道block大家都不陌生,内存管理问题也是开发者最头疼的问题,网上很多讲block的博客,但大都是理论性多点,今...
    Tracy_ljs阅读 2,872评论 24 54