Довольно стандартно.Мои основные объекты данных имеют множество методов, таких как [aStudent enrollmentForId:(long long)idValue createIfMissing:YES]
.
. Я также хотел бы подключить mogenerator , который устраняет большую часть проблем с Core Data.Помимо прочего, он генерирует фабричный метод для каждого запроса выборки, определенного в модели данных.Таким образом, создание предиката выборки в модели, например,
thingies: thingyId == $forThingyId
, дает метод соответствующего класса:
+(NSArray *)fetchThingies:(NSManagedObjectContext *)moc forThingyId:(id)thingyId
... что делает первую половину того, что вы там написали.В таком случае обертку наподобие
-(Thingy*)thingyForIdValue:(long long)thingyId
написать тривиально, в любом классе, содержащем ваш managedObjectContext (например, «родительский» объект, или делегат приложения, или любой другой.)