我有一个名为 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 ,但没有成功。有任何想法吗?