面试题-01
语法
一、 属性
readwrite, readonly, assign, retain, copy, nonatomic属性的作用:
@property是一个属性访问声明, 括号内支持一下几个属性:getter = getterName, setter = setterName, 设置setter与getter方法名assign:setter方法直接赋值, 不进行任何retain操作, 解决原类型与循环引用问题retain:setter方法进行copy操作,与retain处理流程一样,先release旧值,在copy新的对象,retainCount == 1. 减少对上下文的依赖而引入的机制.copy是在你不希望a和b共享一块内存是会使用到,a和b有个字的内存readwrite,readonly: 设置可访问的级别nonatomic: 非原子性访问,不加同步,多线程并发访问会提高性能, 默认为院子性访问.
copy
copy使用场景
当多个指针指向同一个对象时, 为避免一个指针对对象的改动对其他指针的使用产生影响,使用copy来修饰.深拷贝、浅拷贝
对于非容器内对象,不可变对象进行copy操作为浅拷贝,引用计数器+1,其他
