【iOS学习笔记】关于iOS中的属性修饰符初见

关于iOS中的属性修饰符初见

在iOS中有许多的属性修饰符,其中比较常见的有strong,weak,nonatomic,assign等。下面讲一下我对这些修饰符的理解,有不对的地方请指正。

在iOS中对属性进行修饰的修饰符有: strong, weak, nonatomic, atomic, copy, unsafe_unretained, readwrite, readonly。

strong,weak : 强引用(strong)和弱引用(weak),当需要持有对象的时候使用强引用,不需要持有对象的时候使用弱引用。strong会对属性进行引用计数+1的操作,而weak不会。weak对象被释放后该指针自动置为nil,向nil发送消息不会崩溃。

assign:主要用于基础数据类型,表示直接赋值。

nonatomic,atomic:表示属性是否是原子性的,即线程安全的,一般情况下使用nonatomic即可,表示非原子性的,因为使用atomic的话会进行一些额外的花销(对属性加锁)。

readwrite,readonly:表示属性是只读的还是可以读写的。

unsafe_unretained:对象被释放后该指针就成为了野指针。非特殊情况不建议使用。

    copy:主要用于字符串,copy属性中源对象的修改不会影响到copy后的对象内容。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YoungCain/article/details/52381889
文章标签: ios 属性修饰符
个人分类: iOS学习笔记
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

【iOS学习笔记】关于iOS中的属性修饰符初见

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭