YY.Wang

Results 3 comments of YY.Wang

我觉得应该是博主写漏了,@property是会自动合成实例变量的,相当于系统自动帮你写了一句: @synthesize firstName = _firstName @VinlorJiang

谈一下我的理解: 第一,既不保留新值也不释放旧值的含义是指:关键字为strong属性(MRC中的retain属性)的setter方法中,会自动对旧的值进行一次release操作,对新的值进行一次retain操作,也就是保留新值释放旧值。而关键字为weak属性的setter方法则不会进行上述操作。 第二,特质与assign类似是指第一中提到的“既不保留旧值也不释放新值”这个特性,标点的话......确实有误,不过没必要太过纠结吧。 第三,确实答者的语言组织有些不佳,前后没有明显联系。weak属性会自动置为nil之前不需要加“然而”的转折,assign的setter可以另起一个段落单独介绍。 @Deeer

__block一般是用来修饰非对象的基本数据类型的,作用是修改block捕获变量的方式,由值传递改变为指针传递。被__block修饰的变量,可以在block中修改。 而__weak是改变对象的内存管理策略,一般是修饰OC对象类型的。在ARC机制下,默认是使用__strong修饰符修饰的,也就是说赋值时会对对象进行一次强引用,而用__weak修饰的对象,在赋值时不会强引用,而是弱引用