掌握核心数据的工作方式非常困难,我希望能在这里获得一些非常基本的帮助。核心数据和多个实体
我有两个实体:
Profiles<-->>Events
我已经成功地想出如何在表视图通过谓词取添加配置文件,查看配置文件中的表视图,查看事件的轮廓。
现在,这里是我迷失的地方。假设我想更新Event实体中的事件。在更新Event实体之前,是否必须使用谓词进行提取以创建Profiles对象?或者我可以只更新Event实体并以某种方式通过关系告诉它与哪个配置文件关联?
这里就是我击中了日志果酱:
// add new event
//NSLog(@"Adding New Event");
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Events"];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"ANY profile.profilename=[cd] %@",[self profilename]];
[fetchRequest setPredicate:predicate];
self.events = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
//insert event info
NSManagedObject *eventInfo = [NSEntityDescription insertNewObjectForEntityForName:@"Events" inManagedObjectContext:self.managedObjectContext];
///////// THIS IS WHERE I NEED HELP
}
// save the context
NSError *error = nil;
if (![managedObjectContext save:&error]){
NSLog(@"Error! %@",error);
}
我正要准备只是为了创造一个平面文件,并与合作!这让我疯狂!
编辑 - 修改下面的代码* ** * ** * ** * ** * ** * ** * ** * *
// add new event
//NSLog(@"Adding New Event");
Events *newEvent = (Events *)[NSEntityDescription insertNewObjectForEntityForName:@"Events" inManagedObjectContext:managedObjectContext];
newEvent.eventdesc=self.eventDescTextField.text;
NSString *wkst = eventDescTextField.text;
NSNumber *wk = [NSNumber numberWithInteger: [wkst integerValue]];
newEvent.weeksout = wk;
所以现在我知道我需要告诉Event实体使用当前个人资料..如何获得关系?
你想添加一个特定的配置文件? – Bot
你说你的问题是关于更新事件。我认为它已经存在。在这种情况下,它已经从创建事件时建立了配置文件关系,因此您无法将事件与配置文件关联。 – Abizern
我想出如何保存对现有条目的更改,但添加新条目是我绊倒的地方 – Mark