用自身的更新版本替换数组中的Object

时间:2010-12-03 20:38:09

标签: iphone objective-c

        Match *aMatch = [appDelegate.matchScoresArray 
objectAtIndex:numMatchCounter];
        aMatch.teamName2 = TeamNameHolder;
        [appDelegate.matchScoresArray replaceObjectAtIndex:NumMatchCounter 
withObject:aMatch];
        numMatchCounter++;

这是否有意义,或者我对teamName2所做的更改已经反映在数组中,因为它们是同一个对象?

或者我正确地将对象复制回数组。

我真的很困惑。

由于 -code

2 个答案:

答案 0 :(得分:4)

您应该从数组中获取对象并进行更新。没有必要复制它。

您可以获取对象的引用并进行更新。变量aMatch指向与数组中引用的对象相同的内存位置。

以下情况应该没问题:

Match *aMatch = [appDelegate.matchScoresArray 
objectAtIndex:numMatchCounter];
        aMatch.teamName2 = TeamNameHolder;

答案 1 :(得分:0)

您不需要将对象复制回数组。该数组包含对象的引用。 a只要对象实例保持不变,就不需要在更改它的属性后将其复制回来。