Вы должны вставить test
в контекст внутри цикла, а не перед ним:
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Test" inManagedObjectContext:[self managedObjectContext]];
for (int i = 0; i < 10; i++) {
Test *test = [[[Test alloc] initWithEntity:entity insertIntoManagedObjectContext:[self managedObjectContext]] autorelease];
test.text = @"Text";
test.index = [NSNumber numberWithInt:i];
[self saveContext];
}
Кроме того, я бы сохранил контекст вне цикла по соображениям производительности. Вам нужно только сохранить его один раз, а не каждый раз.