strong ,weak,copy关键字使用,及weak跟assign区别

Posted welllin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了strong ,weak,copy关键字使用,及weak跟assign区别相关的知识,希望对你有一定的参考价值。

1strong和weak都是针对对象

2strong持有对象的所有权

3weak不持有对象的所有权

 

什么时候使用weak

1.委托 为了规避循环引用 使用weak限定delegate指针

2.SB拖拽控件 可以使用weak关键字限定属性

 

与assign的区别

1.weak只能修饰对象指针,assign可以修饰任意类型指针

2.weak指针指向的对象被释放 weak指针自动置为nil,assign不会自动置为nil

 

copy关键字如何使用

1.block 在栈区分配内存(系统管理其内存) 拷贝到堆区 方便程序员可管理其内存

2.NSString NSArray NSDictionary存在对应的可变类型  可变类型通过copy得到的是不可变的副本

以上是关于strong ,weak,copy关键字使用,及weak跟assign区别的主要内容,如果未能解决你的问题,请参考以下文章

ARC声明属性关键字详解(strong,weak,unsafe_unretained,copy)

iOS 开发 property,strong,weak,retain,assign,copy,nomatic 的区别及使用

ios中关键词weak,assign,copy.strong等的区别

iOS内存管理-- iOS中strong,copy,retain,weak,assign的用法

IOS开发 strong,weak,retain,assign,copy nomatic 等的区别与作用

iOS OC中strong,weak,assign,copy等的区别