2010-09-07 2 views
0

Я использую CoreData, и у меня есть два управляемых объекта: Author and Book. У автора могут быть книги, но книга может иметь только одного автора (ради этого примера).CoreData: расширения NSManagedObject

Класс Автор расширяет NSManagedObject и Book также расширяет NSManagedObject. В моем классе Author, нормально ли создавать расширение, чтобы я мог выполнять пользовательский поиск внутри автора. Например, было бы ОК, чтобы написать:

Author* theAuthor = /* found somewhere else */ 
    NSArray* books = [theAuthor booksWrittenAfter:2009]; 

, где призыв к «booksWrittenAfter:» хотел бы сделать поиск в CoreData, возвращая книги, написанные после 2009 года для этого автора?

Я написал это в коде, и он работает и компилируется, мне просто интересно, нужно ли это делать, или все поиски в CoreData должны выполняться в другом классе, а классы Author and Book упрощаются?

спасибо!

Michael

+0

Я думаю, что все в порядке, это зависит от вашего вкуса. – Yuji

ответ

1

Да, это нормально. Вы также можете сделать это из интерфейса графического интерфейса Core Data в Xcode. В Xcode 4 нажмите и удерживайте знак «плюс» в левом нижнем углу. Затем выберите «Добавить запрос на выборку». Затем вы можете определить запрос на выборку.

Смежные вопросы