跟踪不在表格视图中的数据?

时间:2016-06-20 18:08:44

标签: ios swift firebase

在我看过处理跟踪提交的用户数据的每个教程中,表视图/集合视图与数组+ indexPath.row一起使用,以跟踪哪个帖子是哪个。

我正在开发一个多个用户可以发帖的应用,但我不希望帖子包含在可以在屏幕上自由移动的按钮中。

我很难绕过如何跟踪哪个帖子在索引匹配的结构化表视图之外的哪个帖子。

我正在使用firebase作为后端,因此理想情况下,当用户点击帖子按钮时,它会加载相应的帖子...通常可以通过从保存的数组中抓取indexpath.row来完成火力点。我有一个使用tableviews的工作应用程序所以我绝对不会询问如何从firebase或任何东西检索数据,但更多的是如何过渡到按钮概念。

所以基本上,当你不是列表格式时,如何在屏幕上跟踪帖子或“事物”?这种事情似乎一直在游戏中完成?...但我不确定如何将这种相同的逻辑应用到非游戏应用程序中。

3 个答案:

答案 0 :(得分:0)

正如您所说,表格视图提供了一个框架,其中每个单元格作为"地址" (indexPath),它可以直接查找单元格的数据。

如果您要拥有一系列自由浮动的按钮,那么您就有责任想出一个跟踪哪一个是哪个按钮的方案。

执行此操作的一种简单方法是在按钮上设置tag属性,然后在按钮的IBAction中查询标记值并将其用作数据的索引。 (请注意,您不应该将标记0用作用作索引的标记,因为0是"此字段没有标记"值。在这种情况下,我通常会添加一些固定值,如100我的标记值,然后在将其用作数组索引之前从标记中减去它。

答案 1 :(得分:0)

UI元素具有.tag属性,您可以使用该属性来跟踪它们。无论你最终使用什么系统都应该有键值配对,按钮的某些部分(无论是它的标签还是实际对象或对象的散列)都能够引用它们。就像TableView键值的关键一样:IndexPath,value:UITableViewCell。

由于您的项目位于数组中,因此您可以使数组中的索引对应于按钮。

因此,创建一个与数据阵列大小相同的NSArray按钮。实例化按钮,使它们出现在屏幕上并具有您想要的视觉属性。当用户选择一个按钮时,检查按钮的标记,该标记对应于您将读出的数据数组的索引。

答案 2 :(得分:0)

我将所有按钮存储在某个集合中,但它不会使用集合索引。

我创建了一个新类,它引用了一个模型对象和一些函数,用于向视图和处理程序提供显示细节以进行交互(视图模型),并为每个按钮提供其中一个。然后您不必担心索引,因为您已经引用了相应的信息。