2016-06-20 18 views
0

在我看到的每个教程都跟踪提交的用户数据时,表视图/集合视图与数组+ indexPath.row一起使用以跟踪哪个帖子是哪个。保持跟踪不在表格视图中的数据?

我正在开发一个应用程序,其中多个用户可以发布帖子,但不是桌面视图,我希望帖子可以包含在可以随意在屏幕上移动的按钮中。

我不知道如何跟踪哪些帖子是在结构化tableview之外的索引匹配的地方。

我正在使用firebase作为后端,所以理想情况下,当用户点击一个帖子按钮时,它会加载相应的帖子..通常会通过抓取indexpath.row离开保存的数组从firebase。我有一个使用tableviews的工作应用程序,所以我绝对不会问如何从Firebase或任何其他地方检索数据,但更多的是如何转换到按钮概念。

因此,基本上,当他们不是列表格式时,如何跟踪屏幕上的帖子或“事物”?这类事情在游戏中似乎一直都在进行着......但我不确定如何将这种相同的逻辑应用到非游戏应用中。

回答

0

正如你所说,表视图提供了一个框架,其中每个单元格作为“地址”(indexPath),并且查找单元格的数据很简单。

如果你要有一个自由浮动的按钮,那么你的负担是想出一个方案来跟踪哪一个是哪个。

一个简单的方法是在按钮上设置标签属性,然后在按钮的IBAction中查询标签值并将其用作数据的索引。 (注意,你不应该使用标签0作为一个标签作为索引,因为0是“这个字段没有标签”的值,在这种情况下,我通常给标签值加上一些固定值,比如100,然后在使用它作为数组索引之前,从标签中减去该值。

0

UI元素有一个.tag属性,您可以使用它来跟踪它们。无论您最终要使用哪种系统都应该具有键值对就像按钮的键值:IndexPath,value:UITableViewCell。

由于您的项目是在一个数组,你可以让数组中的索引对应一个按钮。

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

0

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

我创建了一个新的类,它引用了一个模型对象和一些函数来为视图和处理程序提供交互(视图模型)的显示细节,并将其中的一个提供给每个按钮。那么你不需要担心索引,因为你已经引用了相应的信息。