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

ios - 在didSelectRowAtIndexPath方法中获取所选单元格的内容-LMLPHP

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

最佳答案

您正在复制数据并对其进行过滤,对吗?因此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"


希望这可以帮助👍

09-30 21:24