iOS 开发每天分享优质文章自鉴

iOS开发---属性关键字详解

2019-08-20  本文已影响0人  祀梦_

iOS开发—属性关键字详解

@Property

什么是属性?

Property的默认设置

⚠️:注意:考虑到代码可读性以及日常代码修改频率,规范的编码风格中关键词的顺序是:原子性、读写权限、内存管理语义、getter/getter。

关键字

关键字 解释
atomic 原子性访问
nonatomic 非原子性访问,多线程并发访问会提高性能
readwrite 此标记说明属性会被当成读写的,这也是默认属性
readonly 此标记说明属性只可以读,也就是不能设置,可以获取
strong 打开ARC时才会使用,相当于retain
weak 打开ARC时才会使用,相当于assign,可以把对应的指针变量置为nil
assign 不会使引用计数加1,也就是直接赋值
unsafe_unretain 与weak类似,但是销毁时不自动清空,容易形成野指针
copy 与strong类似,设置方法会拷贝一份副本。一般用于修饰字符串和集合类的不可变版, block用copy修饰

详解copy

atomic与nonatomic

readwrite与readonly

//.h文件
@interface MyClass : NSObject
@property (nonatomic, readonly, copy) NSString *name;
@end

//.m文件
@interface MyClass()
@property (nonatomic, readwrite, copy) NSString *name;
@end

比较strong与copy

比较assign、weak、unsafe_unretain

@synthesize 和 @dynamic

上一篇下一篇

猜你喜欢

热点阅读