Лично я предпочитаю следующий метод:
// With some NSManagedObjectContext *context
NSEntityDescription *desc = [NSEntityDescription entityForName:@"Something"
inManagedObjectContext:context];
Something *s = [[[Something alloc] initWithEntity:desc
insertIntoManagedObjectContext:context] autorelease];
Я заметил, что он менее подвержен случайным ошибкам Core Data и его легче отлаживать. Он фактически делает то же самое, что и ваш код, но сначала явно получает описание сущности, так что вы можете отладить его отдельно, если это необходимо.