我有2个核心数据对象。 Items
和TimeLog
。 items对象与TimeLog有一对多的关系,我使用IB和Array Controller自动填充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
导致此错误的原因是什么?如何摆脱它?
答案 0 :(得分:2)
我通过为NSArrayController
创建另一个TimeLog
并像这样设置表来解决此问题。
TimeLog Arra Controller
Items
阵列控制器。模型timeLog
的关键路径
然后是表格的每一栏。