2

我有一些代码需要用另一个对象替换数组中的一个对象。目前的代码不会检查该对象是否已被替换,而是会继续替换它,这会导致问题吗?如果是这样,我应该检查数组是否已经包含对象并且如果包含则不替换?我正在使用的线路是..

[subArray replaceObjectAtIndex:col withObject:obj];

我正在使用 ARC,这会有所作为。

4

1 回答 1

3

replaceObjectAtIndex:方法保留新对象,释放旧对象,并对支持 的数据的数组进行赋值NSMutableArray。即使分配的对象已经存储在数组中的相同位置,这些操作也不会导致内存问题。这些操作执行得非常快,因此在分配之前检查相等性可能会浪费时间。

于 2013-06-27T01:44:20.330 回答