1

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

4

1 回答 1

0

不知何故,目标成员在类别文件上被关闭了,这就是没有添加方法的原因。我可能会删除这个问题。

于 2012-04-04T15:18:21.660 回答