如果想让自己的类具备copy方法,并返回不可变类型,必须遵循nscopying协议,并且实现- (id)copyWithZone:(NSZone *)zone;如果让自己的类具备mutableCopy方法,并且返回可变类型,必须遵守NSMutableCopying,并实现- (id)mutableC ...
分类:
其他好文 时间:
2019-03-14 19:58:47
阅读次数:
221
NSMutableArray *sourceM = [sourceArr mutableCopy]; NSInteger count = sourceArr.count / 4; // 9个 三组 4 4 1 NSMutableArray *temp = [NSMutableArray array]... ...
分类:
编程语言 时间:
2019-03-13 12:11:51
阅读次数:
199
在ObjC中,什么是深浅拷贝? 深浅拷贝分别指深拷贝和浅拷贝,即 mutableCopy 和 copy 方法。 copy复制一个不可变对象,而 mutableCopy 复制一个 mutable 可变对象。 非容器类对象 如NSString,NSNumber等一类对象 示例1: 查看内存可以发现,st ...
分类:
移动开发 时间:
2018-12-14 19:39:11
阅读次数:
168
1、前言 开发时常常用数组对数据进行处理,对NSMutableArray进行操作时经常导致程序崩溃,特研究一下NSArray的类簇!涉及__NSPlaceholderArray、__NSArray0、__NSSingleObjectArrayI、__NSArrayI、__NSArrayM相关类。 2 ...
分类:
移动开发 时间:
2018-06-11 15:53:35
阅读次数:
248
输出结果 输出结果 继承层次的关系。 http://www.cocoachina.com/ios/20171010/20716.html ...
分类:
其他好文 时间:
2018-06-11 15:45:26
阅读次数:
141
首先给出NSStirng、NSArray、NSMutableArray三者copy/mutableCopy后的规律表格,方便有一个直观的看法。 调用的拷贝方法 注意:对于NSDictionary、NSMutableDictionary、NSMutableArray上面的规律依然适用。 为了帮助整理, ...
分类:
其他好文 时间:
2018-04-12 16:12:22
阅读次数:
163
自己生成的对象,自己所持有 使用以下名称开头的方法名意味着自己生成的对象只有自己持有 alloc new copy mutableCopy 下列名称也意味着自己生成并持有对象 allocMyObject newThisObject copyThis mutableCopyYourObject 但是对 ...
分类:
其他好文 时间:
2017-12-11 23:06:53
阅读次数:
151
copy : copy出来的对象都是不可变对象 不可变字符串: copy == retain == 指针拷贝 不会分配内存 可变字符串: copy = alloc + 内存拷贝 重新分配内存 copy出来的都是不可变对象,所以即使是NSMutableString也不能调用可变对象的方法。强制调用会崩 ...
分类:
其他好文 时间:
2017-12-05 23:15:56
阅读次数:
208
由alloc、copy、new、mutableCopy修饰的对象都会使引用计数值加一 release:释放对象 release = 0时,废弃对象 (1)带有alloc/new/copy/mutableCopy关键字,是自己生成对象并持有,自己持有的对象,自己得释放(release) (2)取得任何 ...
分类:
其他好文 时间:
2017-11-24 15:12:55
阅读次数:
146
结论: 1, 深复制与浅复制 2,immutable和mutable 3,代码分析: 示例代码:https://github.com/shilihuan/CopyAndMutableCopy ...
分类:
其他好文 时间:
2017-06-01 10:25:54
阅读次数:
160