美文网首页
ios- object-c(oc)内存管理机制--属性关键字

ios- object-c(oc)内存管理机制--属性关键字

作者: 无悔zero | 来源:发表于2016-05-25 21:51 被阅读41次

assign   赋值方式   不复制不保留,直接赋值    基本数据类型和本类不直接拥有的对象   对象应用strong 却用 assign 就会很容易崩

retain   赋值方式   将新值保留一份赋覆盖原值  引用计数加1   大部分对象可使用     相当于浅拷贝,指针复制

copy  赋值方式  将新值复制一份赋覆盖原值    字符串选择性使用.(另外附上 copy 和 strong 的区别 文章:简单来说,copy就是当属性变量名为不可变时,被赋值是进行了浅拷贝,作用相当于retain;为可变时,被赋值是进行了深拷贝,string一般建议用copy)        copy到堆中,以便后用

readwrite   读写权限   生成getter和setter两个方法     变量可读取可修改

readonly   读写权限   只生成getter方法     变量只读不可修改

atomic   原子性原子操作     可以保留在多线程环境下,能安全的存取值

nonatomic   原子性非原子操作     不生成多线程同步内容

getter   存取方法自定义取方法

setter   存取方法自定义赋值方法

strong   强指针

weak   弱指针

ARC下:
strong的含义和retain相同,weak和assign相同,修饰完的属性变量用法也是完全没有改变,不过strong和weak只能修饰对象

注意: 用weak修饰UI控件时,removeFromSuperview 后会释放,而strong不会,但可以使控件=nil释放

推荐文章:iOS - 属性关键字的使用

相关文章

  • ios- object-c(oc)内存管理机制--属性关键字

    assign 赋值方式 不复制不保留,直接赋值 基本数据类型和本类不直接拥有的对象 对象应用strong 却用 ...

  • iOS-归纳

    iOS内存分区,堆区 栈区等 内存管理 属性关键字、内存分区总结 iOS- 数据存储iOS开发数据库-FMDBiO...

  • 第一面:ios原生面试

    1.KVC与KVO区别; 2.根据属性说下oc内存管理机制,比如assign,retain,什么情况下容易导致内存...

  • iOS中的property属性

    MRC与ARC 谈property属性之前需要引入OC的两种内存管理机制MRC:全称Manual Referenc...

  • iOS的内功:内存管理机制

    1.Objective-C的内存管理机制 OC的内存管理机制有三种,分别是ARC(自动内存管理),MRC(手动内存...

  • iOS面试题-第一页

    1.简述OC中内存管理机制. 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存...

  • iOS面试 | 基础知识 | <1>

    1.简述OC中内存管理机制 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存,...

  • 无标题文章

    简述OC中内存管理机制 管理机制:是使用一种叫做引用计数的机制来管理内存中的对象.OC中每个对象都对应着自己的引用...

  • 九、自动引用计数ARC @GeekBand

    ARC OC默认的内存管理机制 受ARC管理的对象 OC对象指针 Block指针 使用attribute((NSO...

  • Swift中解决引用循环之Unowned 与 Weak的选择

    Swift的内存管理机制与Object-C一样,都是采用了自动内存管理 -- ARC。那么这样就不得不想到老生常谈...

网友评论

      本文标题:ios- object-c(oc)内存管理机制--属性关键字

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