美文网首页
iOS 对象在什么时候释放?

iOS 对象在什么时候释放?

作者: zxb_张大帅 | 来源:发表于2021-06-24 14:50 被阅读0次

    一般得说法是对象会在当前作用域,也就是大括号结束时释放

    但是以alloc,copy,mutableCopy和new这些方法创建的会被默认标记下面得属性

    \color{red}{_-attribute((ns_-returns_-retained))}注解:在ARC下,返回值为对象的方法或者函数时,将会在函数return之前将返回值retain一次,当这样的函数或者方法接收到返回值retain时,ARC会在其包含得完整表达式结尾处释放该值,但必须遵守本地值得通常优化,这样的函数编译器会加上\color{red}{_-ns_-returns_-retained}属性修饰

    而不以这些关键字开头的方法会被标记\color{green}{ns_-returns_-not_-retained},编译器会在方法内部自动家伙是哪个autorelease方法,这时创建的对象就会被注册到自动释放池中,同时其释放会延迟,等到自动释放池释放的时候才会销毁

    相关文章

      网友评论

          本文标题:iOS 对象在什么时候释放?

          本文链接:https://www.haomeiwen.com/subject/klowyltx.html