0

我有一个正在复制到 NSMutableArray 的类的对象。我这样做了5次。但是,每当我尝试从该数组中检索对象时,它们都是相同的。

这是示例代码:

[myProperty setAddress:@"Av. dos Estados, 70."]; 
[myProperty setPropType:casaRua];
[myProperty setRentalPrice:1430.0];
[propertiesArray addObject:myProperty];

myProperty = [propertiesArray objectAtIndex:0];
NSLog(@"Price 0  %.2f\n", [myProperty rentalPrice]); //In this I got 1430.0

[myProperty setAddress:@"Av. das Nações, 10. Ap: 103."];
[myProperty setPropType:apto];
[myProperty setRentalPrice:450.0];
[propertiesArray addObject:myProperty];

myProperty = [propertiesArray objectAtIndex:0];//indexPath.row];
NSLog(@"Price 0  %.2f\n", [myProperty rentalPrice]); **//In this I got 450.0???**

myP = [propertiesArray objectAtIndex:1];//indexPath.row];
NSLog(@"Price 1  %.2f\n", [myP rentalPrice]); //In this I got 450.0

我究竟做错了什么?似乎该数组已被 addObject 覆盖

4

2 回答 2

2

您一遍又一遍地重新修改相同的“属性”对象。

在添加前一个对象之后,您需要在copy每次修改它之前或实例化一个新对象。

于 2012-08-20T19:31:04.033 回答
0

看起来您正在从数组中获取相同的对象,更改值并将其放回。如果您想复制它并将另一个对象添加到数组中,您必须执行类似的操作

myProperty = [[propertiesArray objectAtIndex:0]copy];
于 2012-08-20T19:30:53.317 回答