Могу ли я добавить собственный метод к классам, сгенерированным Core Data? - PullRequest
0 голосов
/ 30 апреля 2010

У меня есть пара файлов классов, сгенерированных Core Data, в которые я хотел бы добавить пользовательские методы. Мне не нужно добавлять какие-либо переменные экземпляра. Как я могу это сделать?

Я попытался добавить категорию методов:

// ContactMethods.h (my category on Core Data-generated "Contact" class)
#import "Contact.h"
@interface Contact (ContactMethods)
-(NSString*)displayName;
@end
...
// ContactMethods.m
#import "ContactMethods.h"
@implementation Contact (ContactMethods)
-(NSString*)displayName {
    return @"Some Name"; // this is test code
    }
@end

Это не работает, хотя. Я получаю сообщение компилятора, что «-NSManagedObject может не отвечать на« displayName »», и, конечно же, при запуске приложения я не получаю «Some Name» там, где я должен его видеть.

1 Ответ

1 голос
/ 30 апреля 2010

Сначала перейдите к вашей модели данных, выберите сущность, к которой вы хотите добавить методы, и измените класс на что-то более подходящее (я использую имя сущности с моими инициалами в начале). Затем выберите Новый файл ... из меню Файл. Оттуда выберите Класс управляемых объектов (вы должны сделать это, пока модель данных остается активным документом, или вы не увидите эту опцию). Пройдите через мастера файлов, удостоверившись, что выбрали правильную сущность (Xcode назовет файл правильно на основе класса, который вы ввели ранее). Также убедитесь, что выбраны параметры «Создать средства доступа» и «Создать Objective-C 2.0». После этого вы сможете добавить любые пользовательские методы, которые вы хотите, как и любой другой класс. Если вам нужна дополнительная помощь, посмотрите http://themikeswan.wordpress.com/2009/05/30/a-core-data-tutorial-part-2-polishing-the-basics/ Я написал это на основе Mac OS X, но концепция для iPhone такая же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...