首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CoreData中使用NSSegmentedControl

在CoreData中使用NSSegmentedControl
EN

Stack Overflow用户
提问于 2010-06-25 18:15:28
回答 2查看 410关注 0票数 1

我有一个核心数据应用程序,工作,以添加或删除客户的许多约会与按钮在IB绑定到我的约会ArrayController之一。约会内容派生自提要列表中选择的任何客户端。我希望使用SegmentedControl,据我所知,这需要我以编程方式添加和删除约会中的对象。我已经成功地使用Marcus Zarra的代码从他的书Core Data on p54中添加了一个约会,但我不知道如何删除一个选定的约会。我使用的是一个自定义的表格单元,我怀疑这可能会使问题复杂化。

简而言之,我希望以编程的方式在所选对象上实现ArrayController的remove:方法的等价物。

有人能帮帮忙吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-25 18:24:32

从绑定到UI的ArrayController获取当前选择

代码语言:javascript
复制
- (NSArray *)selectedObjects

使用上下文删除这些对象

代码语言:javascript
复制
-(void) deleteObject:(NSManagedObject*) object

示例:

代码语言:javascript
复制
NSArray* objectsToDelete = [NSArray arrayWithArray:[arrayController selectedObject]];
for (NSManagedObject* objectToDelete in objectsToDelete)
{
  [arrayController.managedObjectContext deleteObject:objectToDelete];
}
票数 0
EN

Stack Overflow用户

发布于 2010-07-15 14:20:35

谢谢,马丁。我的代码最终是这样的。

代码语言:javascript
复制
-(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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3117174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档