我有一个Core Data应用程序,用于添加或删除客户端的许多约会之一,其中的按钮绑定在我的约会ArrayController中。约会内容源自在Feed列表中选择的任何客户端。 我希望使用SegmentedControl,据我所知,这需要我以编程方式添加和删除约会中的对象。我已经成功地使用Marcus Zarra的代码从他的书籍核心数据p54上添加了一个约会,但我无法删除一个选定的约会。我正在使用自定义表格单元格,我怀疑这可能使问题复杂化。
简而言之,我希望以编程方式在所选对象上实现ArrayController的remove:方法。
有人可以帮忙吗?
答案 0 :(得分:1)
谢谢,马丁。我的代码最终看起来像这样。
-(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;
}
}
}
答案 1 :(得分:0)
获取绑定到UI
的ArrayController的当前选择- (NSArray *)selectedObjects
使用上下文删除这些对象
-(void) deleteObject:(NSManagedObject*) object
样品:
NSArray* objectsToDelete = [NSArray arrayWithArray:[arrayController selectedObject]];
for (NSManagedObject* objectToDelete in objectsToDelete)
{
[arrayController.managedObjectContext deleteObject:objectToDelete];
}