nonatomic 非原子操作 没有加锁解锁机制 线程不安全 效率高 执行快
atomic 默认 原子操作 有加锁解锁机制 线程安全的 效率不高
//和内存相关
只要是对象类型 就要加上strong
strong 声明对一个不是自己创建的对象的拥有权 这个对象的retainCount + 1
retain 和 strong 是一样的
weak 不引用 它存在的作用就是解决循环引用
copy 重新复制一个对象出来 好处:和原对象已经脱离关系了,不受外部影响
弊端:内存加大了
assign 对于C语言的基本数据类型使用assign
readOnly 只读(Property只为我们提供了getter方法)
readWrite 默认 可读可写(setter getter)
setter = 更改set方法的名字 建议不要改
getter = 更改get方法的名字