gpt4 book ai didi

objective-c - 用数组替换数组

转载 作者:行者123 更新时间:2023-12-03 18:05:11 25 4
gpt4 key购买 nike

我有 NSMutableArray,我想用另一个替换它,但如果我尝试这样做......

firstArray = secondArray;

...然后它似乎删除了整个firstArray,我收到此错误消息..

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (0) beyond bounds (0)'

...界限应该是 (6) 而不是 (0)。

有没有正确的方法来替换数组?

PS:我已经检查了第二个数组,它运行良好。

最佳答案

如果您想让 firstArray 变量成为对第二个变量的引用,请执行以下操作:

[firstArray release];
firstArray = [secondArray retain];

如果您想让 firstArray 成为第二个的副本,请执行以下操作:

[firstArray release];
firstArray = [secondArray mutableCopy];

(在这两种情况下,release 都假定您分配了该数组或之前对其进行了retain-ed 或copy-ed。如果没有,您可以跳过该位。无论哪种方式,您都拥有新数组,并且必须在适当的时间释放它。)

如果您想用第二个数组的内容替换第一个数组的内容(这与获取副本没有太大区别,但涉及更少的对象销毁和创建),那么我认为您会拥有做这样的事情:

[firstArray removeAllObjects];
[firstArray addObjectsFromArray:secondArray];

关于objective-c - 用数组替换数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3041453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com