Получение данных из основных данных

Я использую xcdatamodel для определения ряда классов на основе объектов данных CoreData. Это отлично работает, и я могу получить их в соответствии с примерами Apple:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdFetching.html

Однако мне нужен способ упаковать метод fetch в другой класс, но у меня есть пара вопросов... например.

MyDataAccessClass *mdac = [[MyDataAccessClass alloc] init]; myFetchedData = [mdac fetchData];

Q1. Если я это сделаю, нормально ли, что NSManagedObjectContext определен в классе? или на него все еще нужно ссылаться в моем контроллере представления и передавать в мой «MyDataAccessClass»? Q2. Для меня имеет смысл настроить методы извлечения данных в классах, созданных XCode для сущностей в модели данных. Хотя каждый раз, когда я пытаюсь сделать это, а затем автоматически обновляю эти классы, поскольку они автоматически генерируются XCode, они перезаписывают любые определенные мной методы.

Заранее спасибо!


person mac_55    schedule 21.05.2011    source источник
comment
Если вы хотите добавить методы к своим объектам, вы можете сделать это в категории, определенной в другом файле, избегая проблемы Q2.   -  person albertamg    schedule 21.05.2011


Ответы (1)


Возможно, вы сможете создать новый NSManagedObjectContext в отдельном классе — не уверен, что с этим возникнут какие-либо проблемы, поскольку он уже создан в appDelegate. Я сделал то, что вы предлагаете во второй части Q1, где я передаю NSManageObjectContext в отдельный класс методов, чтобы затем я мог сделать что-то вроде:

myFetchedData = [mdac fetchData:currentNSManagedObjectContext];

person HM1    schedule 21.05.2011