如何只包含对NSMutableArray中对象的引用?

时间:2013-08-11 21:09:04

标签: cocoa nsarray

假设我们有一个NSMutableArray(或NSMutableDictionary),它包含来自相同类型“Class1”的数据。

我想创建一个新的NSMutableArray(或NSMutableDictionary),其中只有一半来自第一个数据。

我想要的是在我创建的第二个可变对象中,只引用已存在的对象而不是“复制”它们。

例如,如果我更改第一个可变对象中某个对象的某个属性值,则立即对第二个可变对象进行更改。

例如:

假设我有一个类型为Person的对象的NSMutableArray,我在Person类中有3个属性:

  • 名字
  • 姓氏
  • 性别

现在我希望我的第二个NSMutableArray(女性)只有来自人的“女性”Person对象。我在people对象中更改了一个女人的名字,然后当我打印来自女性对象的所有对象时,她的名字应该打印出我在人物对象中更改的新数据。

如果两个阵列中的名称都是“XXX”,当我在第一个中将其更改为“YYY”并打印出应该说“XXX”的第二个值时,它应该改为“YYY”。

1 个答案:

答案 0 :(得分:2)

这是所有NSMutableArray个对象的工作方式。 ObjC很少在将对象放入集合时复制对象(字典的键是主要的例外)。