Ich versuche, NSManagedObject zu erweitern. Mit XCode habe ich MyBox.m und MyBox.h (direkt aus der xcdatamodel-Datei) erstellt.[NSManagedObject sayHello]: unerkannter Selektor an Instanz 0x gesendet
Dann modifiziert ich diese Dateien:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface MyBox : NSManagedObject
@property (nonatomic, retain) NSDate * endDate;
@property (nonatomic, retain) NSNumber * globalId;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSDate * startDate;
-(NSString *)sayHello;
@end
und
#import "MyBox.h"
@implementation MyBox
@dynamic endDate;
@dynamic globalId;
@dynamic name;
@dynamic startDate;
-(NSString *)sayHello {
return @"hello";
}
@end
ich alle myBoxes
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"MyBox" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSMutableArray *myBoxes = [context executeFetchRequest:fetchRequest error:&error];
aber später rufen holen kann ich
MyBox *myBox = [myBoxes objectAtIndex:indexPath.row];
[myBox sayHello];
es kompiliert, aber dann bekomme ich
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSManagedObject sayHello]: unrecognized selector sent to instance 0x8e73fc0'
Wenn ich
einen Wert wieNSLog(@"%@", myBox.name);
es
funktioniert nur lesenich hier ähnliche Probleme gefunden, aber keine Lösung. Danke für Ihre Hilfe.
Wahrscheinlich haben Sie vergessen, die Klasse der Entität im Coredateneditor auf 'MyBox' zu setzen. – Alladinian
Ich habe Entity-> Name = Entity-> Class = "MyBox" im Coredata Editor gesetzt. Muss ich einige andere Eigenschaften festlegen? – stefanr
Hmm, das ist seltsam. Nein, das sollte genug sein ... Haben Sie vielleicht mehrere Versionen? – Alladinian