iOS基础——属性篇

Posted smilek

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS基础——属性篇相关的知识,希望对你有一定的参考价值。

属性是OC(Objective-C)的一项特征,就像人的某一项特征。

这个是基于OC是面向对象的语言,万物皆对象。这也就很好理解了。

@property (nonatomic, strong) UILabel *label;

就相当于声明了label 这个属性,并且实现了他的setting和getting方法。

@synthesize label = _label;
-(UILabel *)label;
-(void)setLabel:(UILabel *)label;

属性有什么特征:
1、原子性与非原子性
原子性(atomic)在读与写属性的时候加了同步锁,只有所以进程都完成才算完成,否则,滚动回原来位置。
非原子性(nonatomic)与原子性相反,不加同步锁。

2、取值与赋值
getter方法:取值方法
setter方法:赋值方法

3、内存管理
assign:简单的赋值操作,如:NSInteger,GCFloat,Bool
strong:强引用关系,当引用的对象消失,它才会消失,设置方法,保留新值,并且释放旧值。
weak:弱引用关系,设置方法 不保留新值,不释放旧值,当指针指向的对象销毁时,指针置nil,产生了空指针。
copy:有深拷贝与浅拷贝,浅拷贝只是拷贝值,并没有拷贝指针。深拷贝不但拷贝值,也拷贝指针,相当于真正复制一份出来

4、读写属性
readwrite:拥有读写属性
readonly:只读属性












以上是关于iOS基础——属性篇的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发UI篇—核心动画(基础动画)

iOS开发UI篇—核心动画(基础动画)

iOS系列 基础篇 08 文本与键盘

iOS开发UI篇—核心动画(基础动画)

iOS面试题--基础篇

python之基础篇——模块与包