iOS 一般知识点

iOS property详解

2017-08-06  本文已影响13人  ManThirty

property是OC的一项特性,主要的作用在于封装对象中的数据。官方文档对property的定义是:

A declared property provides a syntactical shorthand for declaring a class’s accessor methods and, optionally, implementing them.

所以说,声明一个property,实际上等于声明了对应的accessor(访问器)方法,编译器会根据property的设置自动帮我们实现get方法和set方法。


properyty的本质

@property = ivar + gett + sett

property包含两部分:


关键字

@synthesize@dynamic

@atomic@nonatomic

atomic是OC使用的一种线程保护技术,这种机制是非常耗费系统资源的,所以在iOS开发时,建议使用nonatomic属性,提供性能和效率

strong/weak/retain/assign/copy


注意事项

苹果官方建议,在一般情况下尽量使用accessor方法来访问一个property,而不是直接访问它对应的实例变量。但是在一个对象的init方法、deallocate自定义的accessor方法中不建议调用accessor方法。

上一篇下一篇

猜你喜欢

热点阅读