使用coredata为表视图添加自定义删除按钮

时间:2014-01-05 01:07:53

标签: ios objective-c uitableview core-data

我想知道如何创建自定义按钮以从核心数据中删除单元格和内容。我想在另一个视图控制器中只有一个按钮来执行与滑动删除相同的操作,而不是滑动删除。我该怎么做?

2 个答案:

答案 0 :(得分:0)

创建自定义单元格并向其添加删除按钮。 在cellForRowAtIndexPath中,将删除按钮的标记设置为indexPath.row。 将操作目标按钮添加到viewController,并在该方法中根据发件人的标记删除该行。

答案 1 :(得分:0)

单击某行时,您将引用现有视图控制器或创建新视图控制器。在任何一种情况下,您可能会将所选对象 - NSManagedObject(如果它表示核心数据对象)传递到新视图控制器中。

在该视图控制器中,您现在有一个需要删除的NSManagedObject的引用,然后您将拥有一个与您用来触发删除的按钮相关联的IBAction方法。在IBAction内部,您可以使用以下内容来处理删除:

- (IBAction)deleteManagedObject:(id)sender
{
    NSManagedObject *objectToBeDeleted = [self managedObject]; // Replace this with whatever you use to reference the managed object
    NSManagedObjectContext *context = [objectToBeDeleted managedObjectContext];
    [context deleteObject:objectToBeDeleted];
}

这只是你可以做到这一点的一个例子。具体情况取决于您如何获取要删除的对象,托管对象上下文以及是否要立即或稍后保存更改。但这应该足以让你前进。