我有一个核心数据应用程序,工作,以添加或删除客户的许多约会与按钮在IB绑定到我的约会ArrayController之一。约会内容派生自提要列表中选择的任何客户端。我希望使用SegmentedControl,据我所知,这需要我以编程方式添加和删除约会中的对象。我已经成功地使用Marcus Zarra的代码从他的书Core Data on p54中添加了一个约会,但我不知道如何删除一个选定的约会。我使用的是一个自定义的表格单元,我怀疑这可能会使问题复杂化。
简而言之,我希望以编程的方式在所选对象上实现ArrayController的remove:方法的等价物。
有人能帮帮忙吗?
发布于 2010-06-25 18:24:32
从绑定到UI的ArrayController获取当前选择
- (NSArray *)selectedObjects使用上下文删除这些对象
-(void) deleteObject:(NSManagedObject*) object示例:
NSArray* objectsToDelete = [NSArray arrayWithArray:[arrayController selectedObject]];
for (NSManagedObject* objectToDelete in objectsToDelete)
{
[arrayController.managedObjectContext deleteObject:objectToDelete];
}发布于 2010-07-15 14:20:35
谢谢,马丁。我的代码最终是这样的。
-(IBAction) notesEditorSegClicked:(id)sender{
int clickedSegment = [sender selectedSegment];
switch (clickedSegment) {
case 0:{ // add new object
NSManagedObject *newNote = [NSEntityDescription
insertNewObjectForEntityForName:@"Note"
inManagedObjectContext:notes.managedObjectContext];
[notes addObject:newNote];
break;
}
case 1:{ // delete selected object
NSArray *objectsToDelete = [notes selectedObjects];
for (NSManagedObject* objectToDelete in objectsToDelete){
[notes.managedObjectContext deleteObject:objectToDelete];
}
break;
}
case 2:{// close view
[self loadClientSummary:sender];
break;
}
}
}https://stackoverflow.com/questions/3117174
复制相似问题