如何在CoreData中设置特定索引的值。 iOS Swift

时间:2016-06-04 08:29:46

标签: ios swift core-data

在我的应用程序中,我使用了核心数据,在按下uitableview单元格的按钮时,我删除或解锁该值。

所以点击按钮,我想设置该索引的值。

这是我的代码:

在索引路径方法的cellforrow中

In [130]: from collections import OrderedDict
Out[130]:
In [131]: OrderedDict(sorted(my_dict.iteritems(), key=lambda (k,v): v[2]))
Out[131]:
OrderedDict([('key3', [0.12, 0.33, 0.971]),
             ('key1', [6.5, 0.7, 2.101]),
             ('key2', [0.1, 1.112, 3.14159])])

这些是功能

cell.pinButton.tag = indexPath.row
    cell.pinButton.addTarget(self, action: #selector(MessageViewController.buttonDeletePressed(_:)), forControlEvents: UIControlEvents.TouchUpInside)


    cell.btnpinUnpin.tag = indexPath.row
    cell.btnpinUnpin.addTarget(self, action: #selector(MessageViewController.buttonPinPressed(_:)), forControlEvents: UIControlEvents.TouchUpInside)

通过这个我可以正确删除整个对象。但是每当我选择最后一个值时,我就会在引脚按钮上按下。原因是我无法为该nsmanagedobject设置索引。那我怎么能这样做呢?

1 个答案:

答案 0 :(得分:1)

你错过了person = people[index]

但是,你真正的问题是你正在使用标签,这迫使你一直重新加载表格,因为否则删除后很多标签都是错误的。

还建议使用FRC作为数据源,然后您可以为更新设置动画。

为了实现这一点,您需要创建一个自定义单元类,以便您可以将其传递给比标记值更好的东西。这可能是托管对象本身(不理想),对象是托管对象(更好),或者是不同的类,如视图模型,它知道按下按钮时要做什么(并且可以为按钮提供数据)要显示的单元格(最好)。