WeatherObservation我是数据模型中的一个实体,我试图将它与另一个Object(一对一)的关系设置为我通过导航控制器传递的.几个星期前就有用了.我更改了模型中的一些其他实体,重新生成了类,并将此关系设置为NSManagedObject,而不是另一个实体的类.我尝试重新生成这个类几次,然后将其更改为应该是什么,并将类添加到.h,#import到.m
我假设[MANAGEDOBJECT count]消息是核心数据魔法的一部分,我不会在我的代码中的任何地方调用它.我不知道从哪里开始,该怎么做,我可以在这里发布什么来帮助得到答案?我试过了:
weather.hiveObservation = hiveObs;
Run Code Online (Sandbox Code Playgroud)
以及
[weather setValue:hiveObs forKey:@"hiveObservation"]
Run Code Online (Sandbox Code Playgroud)
两个都抛出相同的错误,如果我注释掉设置对象保存到持久存储的关系.hiveObs是在旧视图中创建的,但尚未保存...如果这很重要?
编辑:经过思考和添加信息.
我传入的ManagedObject已创建,但在更改视图之前未保存.它在新视图中使用nil值记录,但这可能是问题吗?
核心数据文件
HiveObservation.h
import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class BoxObservation, HiveDetails, WeatherObservation;
@interface HiveObservation : NSManagedObject
... //other properties omitted
@property (nonatomic, retain) HiveDetails *hiveDetail;
@property (nonatomic, retain) WeatherObservation *weatherObservation;
@end
@interface HiveObservation (CoreDataGeneratedAccessors)
- (void)addBoxObservationsObject:(BoxObservation *)value;
- (void)removeBoxObservationsObject:(BoxObservation *)value;
- (void)addBoxObservations:(NSSet *)values;
- (void)removeBoxObservations:(NSSet *)values;
@end
Run Code Online (Sandbox Code Playgroud)
WeatherObservation.h
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class HiveObservation;
@interface WeatherObservation : NSManagedObject
//... other properties omitted
@property (nonatomic, …Run Code Online (Sandbox Code Playgroud)