在我的应用程序中,我使用了核心数据,在按下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设置索引。那我怎么能这样做呢?
答案 0 :(得分:1)
你错过了person = people[index]
但是,你真正的问题是你正在使用标签,这迫使你一直重新加载表格,因为否则删除后很多标签都是错误的。
还建议使用FRC作为数据源,然后您可以为更新设置动画。
为了实现这一点,您需要创建一个自定义单元类,以便您可以将其传递给比标记值更好的东西。这可能是托管对象本身(不理想),对象是托管对象(更好),或者是不同的类,如视图模型,它知道按下按钮时要做什么(并且可以为按钮提供数据)要显示的单元格(最好)。