2つのCoreDataオブジェクトがあります。Items
およびTimeLog
。itemsオブジェクトはTimeLogと1対多の関係にあり、IBとアレイコントローラーを使用して2を自動的に入力していますNSTableView
。
一番上のテーブルビューはアイテム用です。アイテムを選択すると、下部のテーブルに時間ログが表示されます。
ただし、アイテムを追加すると、アプリケーションがエラーでクラッシュします
<_NSFaultingMutableSet 0x102e0e790> addObserver:forKeyPath:options:context:] is not supported. Key path: date
アレイコントローラーを使用して、すべての情報を自動的に入力しています。アイテムを作成して追加するとき、最初にアイテムを追加するときに追加する時間がないため、timeLog関係には何も設定していません。コアデータ保存イベントの後にトリガーされるログがあるため、オブジェクトは保存されています。
Items.h
@class TimeLog;
@interface Items : NSManagedObject
@property (nonatomic, retain) NSString * itemId;
@property (nonatomic, retain) NSString * title;
@property (nonatomic, retain) NSString * itemType;
@property (nonatomic, retain) NSSet *timeLog;
@end
@interface Items (CoreDataGeneratedAccessors)
- (void)addTimeLogObject:(TimeLog *)value;
- (void)removeTimeLogObject:(TimeLog *)value;
- (void)addTimeLog:(NSSet *)values;
- (void)removeTimeLog:(NSSet *)values;
@end
TimeLog.h
@class Items;
@interface TimeLog : NSManagedObject
@property (nonatomic, retain) NSString * time;
@property (nonatomic, retain) NSDate * date;
@property (nonatomic, retain) Items *item;
@end
このエラーの原因と、それを取り除くにはどうすればよいですか?