Ben*_*ene 38 core-data objective-c initializer
我对CoreData有一点该死的问题.我想插入一个新的Object,所以我首先要创建一个.这是由该代码完成的:
Challenges *newChallenge = [[Challenges alloc] init];
[newChallenge setName:@"TestChallenge"];
[newChallenge setRounds:[[NSNumber alloc] initWithInt:12]];
[newChallenge setShots:[[NSNumber alloc] initWithInt:5]];
[newChallenge setDate:[NSDate date]];
但是在alloc init之后我得到了这个错误:
CoreData: error: Failed to call designated initializer on NSManagedObject class 'Challenges'
黑客出了什么问题?
duD*_*uDE 60
我认为问题是挑战是一个NSManagedObject类,你需要指定的初始化程序:
initWithEntity:insertIntoManagedObjectContext:
代替
Challenges *newChallenge = [[Challenges alloc] init];
Jay*_*uis 30
如果你问自己"好的,那么如何获得该实体呢?" (就像我一样),你通过使用entityForName方法这样做:
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Challenges" inManagedObjectContext:self.managedObjectContext];
Challenges *newChallenge = [[Challenge alloc] initWithEntity:entity insertIntoManagedObjectContext:self.managedObjectContext];
希望这有帮助,这个帖子对我帮助很大!
| 归档时间: | 
 | 
| 查看次数: | 39643 次 | 
| 最近记录: |