Pet*_*ter 51 xcode core-data nsdate
我在Xcode中保存到Core数据对象时遇到错误.
Xcode说错误是在NSDate变量'datum'中,但我几乎尝试了所有内容.错误是:
2011-07-12 18:01:29.068 WeekLijstje[3205:207] Core Data Save Error
NSValidationErrorKey datum
NSValidationErrorPredicate (null)
NSValidationErrorObject
<DagLijst: 0x6e2fcd0> (entity: DagLijst; id: 0x6e2fd30 <x-coredata:///DagLijst/t99F423FC-AAE9-4692-9264-EF0FF7A020572> ; data: {
Voedsel = nil;
datum = nil;
hoeveelheid = 0;
punten = 0;
})
NSLocalizedDescription:The operation couldn’t be completed. (Cocoa error 1570.)
Run Code Online (Sandbox Code Playgroud)
一个小代码snipet:
DagLijst *newDaglijst = [NSEntityDescription insertNewObjectForEntityForName:@"DagLijst" inManagedObjectContext:self.managedObjectContext];
NSDate *selDatum = [NSDate date];
newDaglijst.punten = [NSNumber numberWithInteger:10];
newDaglijst.hoeveelheid = [NSNumber numberWithInt:100];
newDaglijst.Voedsel = geselecteerdVoedsel;
newDaglijst.datum = selDatum;
NSError *error = nil;
if (![newDaglijst.managedObjectContext save:&error]) {
...
Run Code Online (Sandbox Code Playgroud)
也是DagLijst对象的类:
@interface DagLijst : NSManagedObject {
@private
}
@property (nonatomic, retain) NSDate * datum;
@property (nonatomic, retain) NSNumber * punten;
@property (nonatomic, retain) NSNumber * hoeveelheid;
@property (nonatomic, retain) Voedsel *Voedsel;
@end
Run Code Online (Sandbox Code Playgroud)
所以你可以看到我把NSDate放入'datum'变量中.但在执行时我仍然会收到错误.
Mic*_* A. 153
可可错误1570
意味着没有填写必填字段.在这种情况下,您有两个属性nil
:Voedsel
和datum
.
我在你的代码中看到:
newDaglijst.Voedsel = geselecteerdVoedsel;
newDaglijst.datum = selDatum;
Run Code Online (Sandbox Code Playgroud)
检查geselecteerdVoedsel
并且selDatum
不是零或者它们是否过度释放并且完成为零.如果它们是可选数据(但我不这么认为),请在coredata中将它们定义为可选数据.
希望这有帮助,
归档时间: |
|
查看次数: |
32825 次 |
最近记录: |