如何将数组克隆或复制到Objective-C中的其他数组中?
我想有一个函数,当它在NSMutableArray中传递时,它接受数组并用内容填充另一个数组.
它是否像someArray = passedInArray一样简单?或者os有一些initWith函数?
Nik*_*bak 12
这应该足够好了
[NSMutableArray arrayWithArray:myArray];
Run Code Online (Sandbox Code Playgroud)
此外,copy方法可能也是这样
[myArray copy];
Run Code Online (Sandbox Code Playgroud)
但简单的任务不会克隆任何东西.因为您只分配了一个引用(您的参数可能看起来像NSMutableArray *myArray,这意味着myArray是一个引用).
不要介意,但你的问题似乎是一个重复的 深拷贝 - nsmutablearray-in-objective-c ; 但让我试试.
是的,它不是那么简单,你必须要更加小心
/// will return a reference to myArray, but not a copy
/// removing any object from myArray will also effect the array returned by this function
-(NSMutableArray) cloneArray: (NSMutableArray *) myArray {
return [NSMutableArray arrayWithArray: myArray];
}
/// will clone the myArray
-(NSMutableArray) cloneArray: (NSMutableArray *) myArray {
return [[NSMutableArray alloc] initWithArray: myArray];
}
Run Code Online (Sandbox Code Playgroud)
这是文档文章复制集合
| 归档时间: |
|
| 查看次数: |
16941 次 |
| 最近记录: |