覆盖对象......这样可以吗?

时间:2014-11-25 15:45:19

标签: ios objective-c memory memory-leaks nsarray

关于类对象的一般性的两部分问题。

1)定义一个对象(例如NSArray或UIImage)然后用其他内容覆盖内容是一个问题吗?例如:

NSArray *usersInApp=[[NSArray alloc] initWithObjects:@"Barry",@"Horace",@"Marjorie",nil];
...
usersInApp=@[@"Elizabeth",@"Eddie"];
...
NSArray *newUsers=@[@"Beth",@"Axl"];
usersInApp=[NSArray arrayWithArray:newUsers];

2)如果一个实例设置为另一个实例(例如,如果最后一行是usersInApp=newUsers;),这是否意味着两个变量(usersInAppnewUsers)将引用相同的值?

感谢阅读。

2 个答案:

答案 0 :(得分:1)

数目:

1)否。

2)是。

问题:但为什么不在调试器的帮助下自己尝试?

答案 1 :(得分:1)

你根本不会覆盖一个对象。您正在覆盖对象的指针(对象的引用)。这绝对没问题。

  1. 正确。两个变量都引用同一个对象。