在我的应用程序中,我正在显示核心数据对象,在这种情况下,它是一个任务管理器。 我在行中包含了一个swip手势,当用户从左向右滑动时,UIView显示在屏幕的右侧,如下图所示:
这是handleGestureLeftRight方法的代码:
-(void)handleGestureLeftRight:(UIGestureRecognizer *)gec
{
{
CGPoint p = [gec locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:p];
if (gec.state == UIGestureRecognizerStateEnded) {
NSLog(@"GESTURE LEFT-->RIGHT DONE");
//BUTTONS AND LABELS DEFINITIONS ARE NOT SHOWN TO AVOID LONG CODE HERE
}
}
}
当用户点击右侧的按钮时,我需要您的帮助来了解如何实施核心数据操作。例如,如果用户点击“完成”按钮,则所选行对象应更改名为isDone的属性的值。同样应该点击其他按钮,但应更改不同的属性值。 谢谢。
答案 0 :(得分:2)
在handleGestureLeftRight:
中将按钮添加到表格视图时,请保存
属性中选定的索引路径:
CGPoint p = [gec locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:p];
self.currentIndexPath = indexPath;
然后,在按钮操作方法中,您可以访问相应的Core Data对象 与
YourEntity *object = [self.fetchedResultsController objectAtIndexPath:self.currentIndexPath];
并更新其属性。删除按钮时,请设置
self.currentIndexPath = nil;