У меня есть две основные модели данных с свойствами int64_t. Один из них отлично работает, а другой выбрасывает EXC_BAD_ACCESS, когда я пытаюсь назначить ненулевое значение целочисленному полю. Я прочитал ответы, которые говорят, чтобы воссоздать дочерний класс NSManagedObject, и я сделал это без успеха. Разбитый класс выглядит следующим образом:Основные данные EXC_BAD_ACCESS для ненулевых целых значений
@interface NoteObject : NSManagedObject
@property (nonatomic) int64_t remoteID;
@property (nonatomic) int64_t remoteArticleID;
@property (strong, nonatomic) ArticleObject *article;
@property (strong, nonatomic) NSString *status;
@property (strong, nonatomic) NSString *token;
@property (strong, nonatomic) NSString *title;
@property (strong, nonatomic) NSString *noteContent;
@property (strong, nonatomic) NSDate *pubDate;
@property (strong, nonatomic) NSDate *modDate;
@end
@implementation NoteObject
@dynamic remoteID;
@dynamic remoteArticleID;
@dynamic article;
@dynamic status;
@dynamic token;
@dynamic title;
@dynamic noteContent;
@dynamic pubDate;
@dynamic modDate;
@end
Нарушитель линия в этом блоке:
_noteObject = [NSEntityDescription insertNewObjectForEntityForName:@"Note" inManagedObjectContext:self.managedObjectContext];
_noteObject.remoteArticleID = 0; // this works
_noteObject.remoteArticleID = 1; // this crashes
Что действительно меня в тупике, что в другой модели у меня есть один и то же поле с теми же типами, и они будет принимать ненулевые значения без каких-либо проблем:
bookmarkObject = [NSEntityDescription insertNewObjectForEntityForName:@"Bookmark" inManagedObjectContext:self.managedObjectContext];
bookmarkObject.remoteArticleID = 0; // this works
bookmarkObject.remoteArticleID = 1; // this works, too
есть ли что-нибудь в моем файле .xcdatamodeld, что может быть причиной этого?
EDIT
Мои модели данных выглядит следующим образом:
Существуют ли какие-либо различия в конфигурации поля remoteArticleID для вашего NoteObject и вашей закладки в файле .xcdatamodeld? – danielM
Вы сами пишете файлы подкласса управляемого объекта или генерируете их Xcode? –
Вы должны подумать об использовании 'mogenerator' для создания классов управляемых объектов. – Wain