У меня есть простой цикл:
for(Object_ *obj in not.object)
{
......
Object *objStor = [NSEntityDescription insertNewObjectForEntityForName:@"Object" inManagedObjectContext:context];
.....
}
Интерфейс класса 'Object_' выглядит так:
@interface Object_ : NSObject
@property (nonatomic, strong) NSNumber * id;
@property (nonatomic, strong) NSString * name;
@property (nonatomic, strong) NSNumber * review_id;
.
.
.
.
@end
Интерфейс для класса «Объект» (созданный xCode для схемы основных данных) выглядит следующим образом:
@interface Object : NSManagedObject
@property (nonatomic, retain) NSNumber * id;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSNumber * rating;
.
.
.
.
@end
Я получаю сообщение об ошибке:
*** NSForwarding: warning: object 0x1a1bb48 of class 'Object' does not implement methodSignatureForSelector: -- trouble ahead
*** NSForwarding: warning: object 0x1a1bb48 of class 'Object' does not implement doesNotRecognizeSelector: -- abort
В онлайн-решении говорится объявить класс «Объект» как подкласс NSObject. Но я не могу изменить наследование на NSObject, так как это приведет к сбою базовой модели данных.
У меня есть еще одна линия прямо над ней,
Subject *subStor = [NSEntityDescription insertNewObjectForEntityForName:@"Subject" inManagedObjectContext:context];
который отлично работает. Что вызывает ошибку?
isa
, а также методыretain
release
иautorelease
, которые я нахожу через отражение, но нигде не могу найти объявленный интерфейс. 03.10.2013NSObject
. Я думаю, что это было удалено из заголовков. 03.10.2013objc/Object.h
03.10.2013