Ios 来自按钮的核心数据对象操作

Ios 来自按钮的核心数据对象操作,ios,core-data,uitableview,uibutton,Ios,Core Data,Uitableview,Uibutton,在我的应用程序中,我显示了核心数据对象,在本例中,它是一个任务管理器。 我在行中加入了一个滑动手势,当用户从左向右滑动时,屏幕右侧会显示一个UIView,如下图所示: 这是HandleTestureLeftRight方法的代码: -(void)handleGestureLeftRight:(UIGestureRecognizer *)gec { { CGPoint p = [gec locationInView:self.tableView];

在我的应用程序中,我显示了核心数据对象,在本例中,它是一个任务管理器。 我在行中加入了一个滑动手势,当用户从左向右滑动时,屏幕右侧会显示一个UIView,如下图所示:

这是HandleTestureLeftRight方法的代码:

-(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的属性的值。点击其他按钮也会发生同样的情况,但应更改不同的属性值。
谢谢。

将按钮添加到
HandleTestureLeftRight:
中的表视图时,请保存 属性中选定的索引路径:

CGPoint p = [gec locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:p];
self.currentIndexPath = indexPath;
然后,在按钮操作方法中,可以访问相应的核心数据对象 与

并更新其属性。卸下按钮时,设置

self.currentIndexPath = nil;

可以在托管对象上设置属性值,就像对任何其他对象一样。它们是Objective-C对象,它们遵守Objective-C规则。谢谢@TomHarrington,但我想在这种情况下,每个按钮都会有一个动作:@selector(buttonaction)方法,我如何将要更新的核心数据对象传递给它?您不会将选择器传递给对象来更改它们的属性值——对于任何Objective-C对象都不会。更改按钮操作方法中的属性值。您是否介意给我一个示例,说明如何在所选行(对象)的按钮操作方法中执行此操作?@mvasco:如果您有索引路径,则
[self.fetchedResultsController objectAtIndexPath:indexPath]
应该是相应的核心数据对象。
self.currentIndexPath = nil;