在didSelectRowAtIndexPath方法

时间:2015-11-25 01:46:35

标签: ios swift uitableview

在我的tableview中,我有一个大约500个项目的列表。用户可以搜索他们的特定项目。单击搜索项目的单元格,它将执行prepareForSegue方法。例如:

enter image description here

当用户在搜索框中输入" Ju"它将6月带入索引0,将7月带入索引1.执行segue时,如果我选择June,它将传递January个数据。这是因为它从indexPath引用。我的问题是如何执行segue传递June数据,而不是January数据。

1 个答案:

答案 0 :(得分:0)

您正在制作数据副本并对其进行过滤,对吗?所以indexPath' 0'在该数据集中6月是正确的。不要访问原始数据集,访问过滤后的集合。

var original = ["January", "February", "March", "April" /*, etc.. */]
var filtered = original.filter(/* some criteria, based on input of "ju" */)

然后当您使用选定的索引路径从中读取时:

original[0] // "January"
filtered[0] // "June"

希望这有帮助