Вы создали только одного человека.Попробуйте это:
list = [[NSMutableArray alloc] init];
Person *person = [[Person alloc] init];
// Create person 1
person.name = @"Fred";
person.gender = @"unknown";
// Append to array
[list addObject:person];
[person release];
// Create person 2
Person *person2 = [[Person alloc] init];
person2.name = @"Bob";
person2.gender = @"male";
// Append to array again
[list addObject:person2];
[person release];
Проблема здесь в том, что когда вы добавили первого человека в массив, а затем изменили исходный объект, объект также изменился в массиве - вам нужно создать экземплярновую версию объекта "персона" и измените его.
Если вы хотите создать много-много людей, я предлагаю использовать цикл for
:
NSArray *names = [NSArray arrayWithObjects:@"Fred", @"Bob"];
NSArray *genders = [NSArray arrayWithObjects:@"unknown", @"male"];
for (int i = 0; i<[names count]; i++) {
Person *person = [[Person alloc] init];
person.name = [names objectAtIndex:i];
person.gender = [genders objectAtIndex:i];
[list addObject:person];
[person release];
}