örneğine gönderilen tanınmayan seçici NSManagedObject öğesini genişletmeye çalışıyorum. XCode'u kullanarak, MyBox.m ve MyBox.h (doğrudan xcdatamodel dosyasından) oluşturdum. [NSManagedObject sayHello]: 0x
Sonra bu dosyaları modifiye:#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
ve
#import "MyBox.h"
@implementation MyBox
@dynamic endDate;
@dynamic globalId;
@dynamic name;
@dynamic startDate;
-(NSString *)sayHello {
return @"hello";
}
@end
Bütün myBoxes getirebilir
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"MyBox" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSMutableArray *myBoxes = [context executeFetchRequest:fetchRequest error:&error];
ama daha sonra ararım
MyBox *myBox = [myBoxes objectAtIndex:indexPath.row];
[myBox sayHello];
derler ama sadece ben burada benzer sorunları bulunan
çalışır
NSLog(@"%@", myBox.name);
gibi bir değer okursanız o zaman
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSManagedObject sayHello]: unrecognized selector sent to instance 0x8e73fc0'
olsun, ama hiçbir çözüm. Yardımlarınız için teşekkürler.
Muhtemelen varlığın sınıfını coredata düzenleyicisinde 'MyBox' olarak ayarlamayı unutmuşsunuzdur. – Alladinian
Coredata düzenleyicisinde Entity-> Name = Entity-> Class = "MyBox" ayarını yaptım. Diğer bazı özellikleri ayarlamak zorunda mıyım? – stefanr
Hmm bu garip. Hayır bu yeterli olmalı ... Belki birden fazla versiyonunuz var mı? – Alladinian