Ios NSMutableArray替换对象而不是添加

Ios NSMutableArray替换对象而不是添加,ios,object,nsmutablearray,Ios,Object,Nsmutablearray,我正在使用NSMutableArray存储一个名为poligonon的对象。此对象具有NSMutableArray作为存储坐标X的属性。 但是当我添加第二个对象时,数组上的第一个对象本身会发生变换。数组中的所有对象必须是不同的,但它们与数组中的最后一个对象相等 例如: coordArrayX是一个属性(NSMutableArray) -saveDataIntoArray { poligonon.coorArrayX = coordArrayX; arrayPoligonon addObject:

我正在使用NSMutableArray存储一个名为poligonon的对象。此对象具有NSMutableArray作为存储坐标X的属性。 但是当我添加第二个对象时,数组上的第一个对象本身会发生变换。数组中的所有对象必须是不同的,但它们与数组中的最后一个对象相等

例如:

coordArrayX
是一个属性(NSMutableArray)

-saveDataIntoArray

{
poligonon.coorArrayX = coordArrayX;
arrayPoligonon addObject: poligonon;
}
用户第一次单击保存时,第一个坐标是74。 现在,他创建了一个坐标为45的新poligonon,并将其添加到数组中

当用户检查时,第一个poligonon的坐标为45


如何求解?

每次将相同的
poligonon
添加到数组并覆盖
coorArrayX
的值时

而不是

{
  poligonon.coorArrayX = coordArrayX;
  arrayPoligonon addObject: poligonon;
}
试试这个

{
  poligonon = [[Poligonon alloc] init];
  poligonon.coorArrayX = coordArrayX;
  [arrayPoligonon addObject:poligonon];
}

您使用的是同一个对象(poligonon)吗?你几乎必须这样。Try:
[arrayPoligonon addObject:[poligonon copy]]。是的。我使用同一个对象存储在第一个数组中,这很有效。现在它总是返回最后一个对象数组。我还尝试初始化一个新对象并添加这个对象,但这不起作用。但是这个poligonon有一个叫做area的属性浮动。这个变量工作正常,它们不相等。@FelipeBoszczowski,这次更改后现在有什么问题?什么是库拉雷?浮动区域将正常工作,因为它不是指针。其他的都是指针,这就是为什么需要为此分配新内存的原因。