1

Xcodeによって自動生成されるEventEntryというNSManagedObjectサブクラスがあり、触れないようにしています(モデルを変更して再生成したい場合)。そこで、追加機能を EventEntry+Extended というカテゴリに入れました。

そのような機能の 1 つに、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 に答える