【iOS】keywords

assign vs weak

assign:简单赋值,用于基本数据类型,不会改变引用基数.
weak: arc后引入的关键字,用于对象类型,不会改变引用计数.


__block vs __weak

__block不管是ARC还是MRC模式都可以使用,可修饰对象和基本数据类型。
__weak 只能在ARC模式下使用,只能修饰对象,不能修饰基本数据类型。
__block 修饰的对象在block中可以被修改,且不会被block强引用。
__weak 修饰符的对象,作用等同于定义为weak的property,当对象没有任何强引用的时候,会被设置为nil;在block中不可以被修改。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容