2012-04-04 2 views
1

У меня есть подкласс NSManagedObject, называемый EventEntry, который автоматически генерируется Xcode, и я стараюсь не прикасаться (в случае, если я изменю модель и хочу переименовать). Поэтому я добавил любую добавленную функциональность в категорию EventEntry + Extended.performSelector по методу класса категорий

Одним из таких бит функциональных возможностей является метод класса, называемый eventEntriesByUser. Я подписал этот метод класса, который вызывается периодически, и используйте функцию executeSelector для его вызова.

EventEntry + Extended.h

@interface EventEntry (Extended) 

    + (void)eventEntriesByUser; 

@end 

EventEntry + Extended.m

@implementation EventEntry (Extended) 

    + (void)eventEntriesByUser 
    { 
     trace(@"%s", __PRETTY_FUNCTION__); 
    } 

@end 

Однако я получаю сбой при попытке сделать это.

[EventEntry performSelector:@selector(eventEntriesByUser)]; 

Ошибка ...

+[EventEntry eventEntriesByUser]: unrecognized selector sent to class 0xbda08 

Если переместить этот метод в EventEntry он работает, как ожидалось. Я также пытался включить EventEntry + Extended.h в файл, где я вызываю функцию performSelector без везения. Есть идеи?

ответ

0

Как-то целевое членство отключилось в файле категории, поэтому методы не добавлялись. Я могу просто удалить этот вопрос.

+0

Просьба не обращаться. Это хорошая информация, о которой узнают другие. – uchuugaka

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