美文网首页
iOS中的属性修饰符

iOS中的属性修饰符

作者: 你weixiao的时候很美 | 来源:发表于2019-01-26 13:06 被阅读3次
1. @property:

@Property是声明属性的语法,声明一个属性后,系统帮我们生成setter,getter和_var。

1.所有权属性修饰符:
strong:强引用,修饰对象。
retain: 强引用,修饰对象。
weak:弱引用,对象销毁变量会置为nil。
copy: 强引用,会copy对象。
unsafe_unretained:弱引用,对象销毁会变成野指针。
assign:修饰基础数据类型,如修饰对象则同unsafe_unretained。

2.与原子性相关
atomic:对setter方法加锁,setter方法是线程安全的,但对象不是线程安全的。
nonatomic:不对setter方法加锁。

3.权限相关
readwrite: 可读可写(系统自动为我们生成setter和getter方法)。
readonly:只能读,不能写(系统只生成了getter方法,没有生成setter方法)。

2. @sythesize

1.@synthesize是为属性添加一个实例变量名,或者说别名。同时会为该属性生成 setter/getter 方法。如果不写,默认是@synthesize var = _var;

2.当在 protocol 中声明并实现属性时。协议中声明的属性不会自动生成setter和getter,需要使用@synthesize生成setter和getter。

3. @dynamic

@dynamic告诉编译器:属性的 setter 与 getter 方法由用户自己实现,不自动生成。(当然对于 readonly 的属性只需提供 getter 即可)。

相关文章

  • ios属性修饰符的使用

    iOS中属性修饰符 ios中的主要属性修饰符包含: copy assign retain strong weak ...

  • iOS中属性修饰符及区别

    iOS中属性修饰符 ios中的主要属性修饰符包含: copy assign retain strong weak ...

  • iOS中修饰符的简单理解和使用

    iOS中定义属性@property需要属性修饰符。 ARC环境下:修饰符assign、strong、weak、co...

  • iOS-属性修饰符

    iOS开发中属性修饰符基本上每天都会打交道,网上总结也很多,本文按照实际开发的角度简单介绍一下属性修饰符,属性修饰...

  • iOS--@property关键字

    iOS中主要的属性修饰符有下面几种: 读写权限:readonly, readwrite 安全策略:nonatomi...

  • iOS中使用atomic就能保证安全了吗?

    什么是atomic? iOS 中属性修饰符有atomic 和 nonatomic ,atomic表示原子性,反之n...

  • iOS中属性修饰符

    stackoverflow上关于Objective-C关注度比较高的问题系列链接 iOS中属性修饰符 原文链接《V...

  • iOS中的属性修饰符

    1. @property: @Property是声明属性的语法,声明一个属性后,系统帮我们生成setter,get...

  • 2017-11-06 - 草稿

    iOS属性修饰符 作为一个iOS入手新员,对iOS很多方面都是一知半解,最近看了一下iOS关于熟悉性修饰符的相...

  • iOS 属性修饰符

    iOS属性问题 属性修饰符的作用 iOS5之前是MRC, 内存需要程序员管理,iOS之后是ARC,除非特殊情况(例...

网友评论

      本文标题:iOS中的属性修饰符

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