2012-04-04 10 views
1

Ich habe eine NSManagedObject-Unterklasse namens EventEntry, die automatisch von Xcode generiert wird und versuche, nicht zu berühren (falls ich das Modell ändere und neu generieren möchte). Also füge ich jede hinzugefügte Funktionalität in eine Kategorie namens EventEntry + Extended ein.performSelector für eine Kategorieklassenmethode

Ein solches bisschen Funktionalität ist eine Klassenmethode namens eventEntriesByUser. Ich habe diese Klassenmethode abonniert, um regelmäßig aufgerufen zu werden, und benutze performSelector, um sie aufzurufen.

EventEntry + Extended.h

@interface EventEntry (Extended) 

    + (void)eventEntriesByUser; 

@end 

EventEntry + Extended.m

@implementation EventEntry (Extended) 

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

@end 

Allerdings erhalte ich einen Absturz, wenn ich versuche, dies zu tun.

[EventEntry performSelector:@selector(eventEntriesByUser)]; 

Fehler ...

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

Wenn ich diese Methode in EventEntry bewegen funktioniert es wie erwartet. Ich habe auch versucht, EventEntry + Extended.h in die Datei zu integrieren, wo ich performSelector ohne Glück anrufe. Irgendwelche Ideen?

Antwort

0

Irgendwie wurde die Zielmitgliedschaft in der Kategoriedatei deaktiviert und deshalb wurden die Methoden nicht hinzugefügt. Ich kann diese Frage einfach löschen.

+0

Bitte nicht tun. Es ist eine gute Sache, über die andere Bescheid wissen. – uchuugaka

Verwandte Themen