【发布时间】:2010-09-05 20:11:07
【问题描述】:
编辑 我试图用代码实现的是创建一个由 20 个独特的“人”对象组成的数组。多亏了下面的人,我现在知道我将不再调用 dealloc。
for (int i = 0; i < 20; i++)
{
Person *myPerson = [[Person alloc] init];
myPerson.name = @"Brian";
myPerson.age = [NSNumber numberWithInteger:23];
[myArray addObject:myPerson];
[myPerson dealloc];
}
在学习 Objective C 的过程中,为什么这段代码对你来说可能看起来很疯狂。但是我来自 Java,所以我的逻辑对于 Objective C 来说还不是很好。
我试图用 20 个人员对象填充我的数组。但似乎我一直在添加同一个对象人。然后释放它,这会破坏这一点。
所以我的问题是:用 20 个不同的人对象填充数组的正确方法是什么。将来每个人的名字和年龄都会不同,但在我学习的那一刻,它们都是一样的。
只有这样才能输入大量这样的代码:
Person *myPerson1 = [[Person alloc] init];
myPerson.name = @"Brian";
myPerson.age = [NSNumber numberWithInteger:23];
[myArray addObject:myPerson1];
Person *myPerson2 = [[Person alloc] init];
myPerson.name = @"Brian";
myPerson.age = [NSNumber numberWithInteger:23];
[myArray addObject:myPerson2];
Person *myPerson3 = [[Person alloc] init];
myPerson.name = @"Brian";
myPerson.age = [NSNumber numberWithInteger:23];
[myArray addObject:myPerson3];
20 次?还是有更优雅的解决方案?
感谢您的建议。 -代码
【问题讨论】:
标签: iphone objective-c model-view-controller