【发布时间】:2015-10-30 19:04:24
【问题描述】:
在这里不断寻找类似的问题,但找不到这个
我想把几个对象放入一个 NSMutableArray 中,当然可以检索它们。
我可以将单个字符串(第一行、第二行等)放入数组(作为对象),并且可以在调试器中看到它们都被存储 - 也可以检索它们。
(我实际上不需要放入这些单独的字符串 - 我只需要放入我的“Person”对象。只是认为它可能会帮助我了解在 NSMutableArray 中前进方面的工作)
Person *aPerson = [[Person alloc] init];
NSMutableArray *myArray = [[NSMutableArray alloc] init];
[myArray addObject:@"First line"];
[myArray addObject:@"Second line"];
[myArray addObject:@"Third line"];
[myArray addObject:@"Fourth line"];
[myArray addObject:@"Fifth line"];
当我将一个对象放入同一个数组中时,它会正常运行。
aPerson.firstName = @"Jasper"; // Should be sixth
aPerson.lastName = @"John";
[myArray addObject:aPerson];
在调试器中,当在上述位置停止时,我在 NSMutableArray 的 Person 对象中看到“Jasper John”信息 …… 但是当我将另一个对象放入该 NSMutableArray 时,它会替换最后一个对象 - 就像我没有通过 NSMutableArray 推进的对象一样。
aPerson.firstName = @"Izzie";// Should be seventh
aPerson.lastName = @"TheKitty";
[myArray addObject:aPerson];
aPerson.firstName = @"Roxie";
aPerson.lastName = @"The Pup";
[myArray addObject:aPerson]; // Should be eighth
当在上述点停止时,我只得到 NSMutable 数组中所有 3 个对象的“Roxie The Pup”——尽管我最初的 5 个字符串仍然在开始填满桶。
【问题讨论】:
-
顺便说一句 1 - 我没有做下面的人做的事情 - 谁在重复重新初始化他的 NSMutableArray stackoverflow.com/questions/11808720/… 2 - 我确实为我在关联的 .h 文件中使用的 NSMutableArray 声明了一个属性这个测试 3- 我的测试在标准 viewDidLoad 方法中运行
标签: object replace nsmutablearray