美文网首页
关于OC中的copy

关于OC中的copy

作者: 我是繁星 | 来源:发表于2019-01-30 17:13 被阅读0次
  • 首先NSObject中声明了两个方法copy和mutableCopy,所以继承自NSObject的对象都可以调用。
  • 如果想调用copy和mutableCopy必须实现NSCopying和NSMutableCopying协议,NSObject中只有声明并没有实现,所以如果自定义的类型调用copy会报unRecogniseSelector(copyWithZone),因为需要自己实现。
  • 大部分框架类都默认实现了NSCopying协议和NSMutableCopying协议,例如NSString、NSArray、NSDictionary等等,所以可以直接使用方法,不同方法的区别可以看这里

1.非容器类的copy这里讨论过了oc中的copy和mutableCopy
2.容器类对象的copy也遵循上面的规则,不过只会进行单层深拷贝,容器类的内容不会进行拷贝。如果想进行双层深拷贝的话,需要[[NSArray alloc] initWithArray:testArr copyItems:YES];
3.自定义类型的copy,自己实现NSCopying和NSMutableCopying方法。灵活程度还是很大的

相关文章

  • 关于 OC 中的 copy

    首先 iOS开发者都知道, 在写属性的时候, 一般 NSString 的属性都用 copy 去修饰, 那么你们有没...

  • 关于OC中的copy

    首先NSObject中声明了两个方法copy和mutableCopy,所以继承自NSObject的对象都可以调用。...

  • OC中关于copy和mutableCopy

     这里主要有两个概念深拷贝和浅拷贝,主要涉及两个方法 - (id)copy;、- (id)mutableCopy;...

  • OC中的copy

    什么是copy? copy从字面意思来看就是“复制”、“拷贝”,是一个产生副本的过程。而在OC中,copy是用来复...

  • OC中的copy

    前言 不敢说覆盖OC中所有copy的知识点,但最起码是目前最全的最新的一篇关于 copy的技术文档了。后续发现有新...

  • OC中的copy

    1.所有被copy修饰的对象都会进行深copy吗? 答案:NO,例如block 全局block被copy修饰不会有...

  • 【OC梳理】Copy、KVC、KVO

    Copy OC中copy的作用是:利用一个源对象产生一个副本对象,它们之间不会相互影响。 关于深拷贝与浅拷贝 深拷...

  • 浅析OC中的copy、mutableCopy

    关于OC中的copy、mutableCopy看过别人写的很多文章,平时工作中也经常用,但并没有验证过,今天来...

  • 关于copy、mutableCopy的讨论(2)

    上一篇是关于OC中字符串的copy、mutablecopy的讨论,本篇将对集合类型进行讨论,以NSArray为例 ...

  • OC中的copy/mutableCopy

    这周由于公司招新人,面试官的一道关于copy和mutalbeCopy的问题引发了组员之间的激烈探讨,这时有位号称s...

网友评论

      本文标题:关于OC中的copy

      本文链接:https://www.haomeiwen.com/subject/cxycsqtx.html