我有一个名为EventEntry的NSManagedObject子类,由Xcode自动生成,我尽量不要触摸(如果我更改模型并想重新生成)。所以我将任何添加的功能放入一个名为EventEntry + Extended的类别中。
一个这样的功能是一个名为eventEntriesByUser的类方法。我已经订阅了这个定期调用的类方法,并使用performSelector来调用它。
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中,它将按预期工作。我也尝试在我调用performSelector的文件中包含EventEntry + Extended.h而没有运气。有什么想法吗?
答案 0 :(得分:0)
不知何故,目标成员资格在类别文件上被关闭,这就是为什么没有添加方法的原因。我可以删除这个问题。