int64_t プロパティを持つ 2 つのコア データ モデルがあります。整数フィールドにゼロ以外の値を割り当てようとすると、そのうちの 1 つが正常に動作し、もう 1 つが EXC_BAD_ACCESS をスローします。NSManagedObject 子クラスを再作成するという回答を読みましたが、成功しませんでした。壊れたクラスは次のようになります。
@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 ファイルにこれを引き起こしている可能性のあるものはありますか?
編集
私のデータモデルは次のようになります。