iOS中copy 学习笔记
来源:互联网 发布:mac 菜单栏的锁不见了 编辑:程序博客网 时间:2024/06/05 16:08
copy表达的属性与strong类似。但是设置方法并不保留新值,而是将其copy,当属性为NSString时,经常用此特质来保护其封装性,因为传递给设置方法的新值可能指向NSMutableString类的实例。但是NSMutableString是可以更改的,如果不设置copy,那么NSString的值就会在不知情的情况下被更改。
另外block中有时也会使用copy,因为在MRC时代,方法内部的block是在栈区的,使用copy可以把它放到堆区。这时如果不使用copy,那么就无法使用block的作用域。但是在ARC中,编译器自动帮你实现这个copy,因此用copy和strong都一样。
最后@property(copy,nonatomic)NSMutableArray *array是会出错的,因为copy会复制一个不可变的array,当你使用可变array的方法时,会由于找不到方法而出错。
0 0
- iOS中copy 学习笔记
- IOS学习笔记59-Retain、Copy以及Copy协议探讨
- iOS学习笔记2 Retain、Copy以及Copy协议探讨
- IOS学习笔记assign,retain,copy
- iOS学习笔记 strong与copy 深浅复制
- iOS中assign、copy 、retain
- iOS中copy的用法
- iOS中copy的用法
- IOS 中什么时候使用copy
- iOS中copy和mutableCopy
- [copy]CA认证学习笔记
- OC_对象copy学习笔记
- iOS学习之copy语法学习
- 【iOS学习笔记】语法 @property里的assign,copy,retain区别
- iOS 中关于copy和mutable copy的理解
- IOS学习 copy的一些认识
- IOS 中 赋值、copy、MutableCopy的区别
- iOS中assign、copy 、retain等关键字
- IBatis和Hibernate区别
- Java实现杨辉三角
- 结构型模式有哪些分别有哪些特点
- hdu 5512 (Pagodas) 2015 ACM/ICPC 亚洲区沈阳赛区 (题目编号1004)
- PHP foreach嵌套if else的问题
- iOS中copy 学习笔记
- Cococapods 添加第三方,导入不了头文件
- jquery validate 插件:(1)使用说明
- D-Clustering: A Kernel Based Graph Clustering Algorithm
- 《leetCode》:Convert String to Integer
- hdu 1023 hdu 1131
- JSON 和 List、Map集合结合使用
- 3D数学 4x3矩阵类源代码(附中文注释)
- 菜鸟好文推荐(十九)——提高Java架构师和程序员效率的10个工具