我有一个NSMutableArray.我想NSArray从 我尝试NSMutableArray使用for循环,NSMutableArray但我不能这样做.
您可以使用该copy方法将可变数组转换为不可变数组,而不是遍历数组项
NSArray *newArray = [myMutableArray copy];
Run Code Online (Sandbox Code Playgroud)
copy是一种方便的方法.如果将其发送到可变/不可变类集群的可变成员,则返回不可变副本.但是如果将它发送给不可变成员,它只返回与另一个保留相同的对象.
还有mutableCopy哪些将返回发送到它的任何可变版本.
返回拥有(保留)对象的行为是内存管理指南建议释放使用new alloc retain或创建的对象的原因copy(当然,在非ARC环境中)
如果你有一个原因试图使用循环,因为你想在创建一个新数组之前更改数组的值,那么有几种方法可以做到这一点(循环,枚举等),但我们会在我们建议你之前需要了解更多细节.
没有必要循环.您可以从像这样的可变数组创建一个不可变数组
NSArray *myUnMutableArray = [[NSArray alloc] initWithArray:myMutableArray];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |