0

好的,我现在拥有的是两个带有数据的数组。

myArray1有很长的标题列表和myArray2很长的描述列表。标题的相关描述位于数组的相邻点。例如,如果“水”在我的某个点Array1,那么“是一种可饮用的液体”将在同一点,但在myArray2.

然后myArray1显示在 a 中UITableView,当您单击哪个条目时,这会将您单击的行号传递到另一个加载的视图中,然后在该视图中,有一个文本字段,其中加载了myArray2 objectAtIndex:传递的任何索引。

这一切都很好!那么问题在哪里?我一直在尝试实现本教程中所示的搜索栏:

http://www.youtube.com/watch?v=SlhrYJxE_rY

但是现在我的搜索结果显示在UITableView并且单击时传递的行不是特定的,myArray2因为它们的大小不同,我得到了错误的描述!!

那么,我怎样才能将我的数据与标题和描述一起存储在同一个实体中呢?或者如何避免搜索结果截断实际表格?

4

2 回答 2

0

在 UITableview 中搜索时,UITableview 中的 indexpath 与 uisearchbar 的结果表中的 indexpath 不同。因此,如果您有一个自定义单元格,您可以在其中添加一个属性,例如 indexInNormalTable 在 cellforrowatindexpath 中设置它:并使用该 (indexInNormalTable) 作为索引而不是实际的行索引。因此,当您传递该索引时,您将获得正确的相应对象在你的 myArray2.

于 2012-12-19T09:48:57.330 回答
0

您可以获取数组中对象的索引,然后将此索引传递给下一个控制器以显示描述。您可以获得索引为

NSUInteger index = [array1 indexOfObject:@"water"];

希望它会有所帮助:)

于 2012-12-19T10:07:25.390 回答