美文网首页
属性关键字

属性关键字

作者: 应久 | 来源:发表于2019-03-18 08:56 被阅读0次

读写权限关键字

readonly

readwrite  (默认)

原子性

atomic(默认) 

保证 赋值和获取是线程安全的  (直接对成员变量的获取  赋值)并不代表操作和访问

假如我们用atomic  来修饰一个数组  对数组进行赋值  获取 是可以保证线程安全的  但是当我们对这个数组进行操作时  如  增  删   就不在atomic 的负责范围之内了  也就是说 用atomic修饰一个数组 对数组进行 增加 删除操作 是不保证线程安全的 只对 赋值 获取有效

noatomic

引用计数

return / strong

return 一般在MRC中使用

strong 一般在ARC中使用

这两个是用来修饰对象的

assign / unsafe_unretained

assign 可以修饰基本类型 也可以修饰对象类型

unsafe_unretained 只有在MRC中 使用的比较频繁

悬垂指针 也就是 assign 所修饰的对象在被释放之后  assign指针仍然指向原对象 地址  这是如果通过assign指针继续访问源对象 可能就会由于悬垂指针的原因 导致内存泄漏 或 程序异常

weak

copy

浅拷贝 会发生引用计数的改变 不会开辟新的内存空间

两块内容相同的不同空间

进行拷贝之后 可变数组 copy 过后变成了 不可变数组 在调用时候很可能出现异常 crash

相关文章

  • OC属性关键字分析

    属性关键字: 读写权限类属性关键字:readonly 和 readwrite 原子性类属性关键字 : atomic...

  • Swift 3.0之十、属性

    1. 存储属性 存储属性包括变量存储属性(由var关键字修饰)和常量存储属性(由let关键字修饰)。 注意: 上面...

  • Kotlin:可变或者不可变的属性的使用

    一、声明属性 Kotlin类可以有属性,属性可以用关键字var声明为可变的,否则使用只读关键字val; 使用属性,...

  • OC基础知识点梳理

    属性关键字 1. 属性关键字都有哪些? 读写权限readonly(默认)readwrite 原子性atomic(默...

  • iOS 分类关联属性

    属性修饰关键字

  • iOS属性关键字

    iOS属性关键字 引言 学习 iOS 开发的人,大多都绕不开属性关键字—— assign,weak,unsafe_...

  • iOS9 新特性(20180325)

    1.关键字 关键字:可以用于属性,方法返回值和参数中 关键字的作用:提示作用,告诉开发者属性信息 关键字好处:提高...

  • this关键字

    this关键字 this关键字代表当前对象 this. 属性 操作当前对象的属性 this. 方法 调用当前对象的方法

  • Day08 Java面向对象——多态

    关键字super 1)super,相较于关键字this,可以修饰属性、方法、构造器2)super修饰属性、方法:在...

  • iOS readonly 属性赋值小记

    readonly 关键字用于属性的存取控制 ,如果不使用readonly ,编译器默认属性关键字为 readwri...

网友评论

      本文标题:属性关键字

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