ios - 具有indexpathforselectedrow的数组逻辑

标签 ios arrays swift logic didselectrowatindexpath

所以我正在尝试使用 indexpathforselectedrow 来掌握嵌套数组逻辑! 因此,我将使用示例来解释我的困惑。

我的第一个想法:可以说我有

    var colors: array = [“red”,”orange”,”yellow”] 

在表格 View 中。
如果我得到橙色的 indexpathforselectedrow,该索引值是多少?我假设那将是 section = 0,row = 1,所以 [0][1]。那是正确的吗?或者由于这是一个简单的数组,该值是否只是一个值? 1?

其次,如果我有更高级的数组(请告诉我这个数组设置是否正确)

 var morecolor: [[“green”,”blue”,”teal”][“light green”, “dark green”] 
[“light blue”, “dark blue”][“light teal”, “dark teal”]]

如果我选择了绿色(第一个数组/数组 0)并想转至浅/深绿色数组、第二个数组(或第一个),我该怎么做?

最佳答案

索引路径(NSIndexPath)由一个部分和一行组成。两者都是整数,从零开始。

表格中的第一部分是部分 0,第二部分是部分 1,依此类推。行也是如此。

您实现 numberOfSections 来告诉您想要多少个部分,并实现 numberOfRowsInSection 来告诉每个部分中有多少行(该方法向您传递它需要的行数的部分编号)。

通常,您有一个表示要显示的数据的模型,并在 cellForRowAtIndexPath 中为该模型建立索引。

如果您有一个一维模型,比如说一个简单的颜色列表,您可能只有一个部分,并且行数与模型中的颜色一样多。对应于任何行的颜色是这样的:

    model.colors[indexPath.row]

您可以忽略此处的部分,因为您知道它始终为零(您只有 1 个部分)。

如果您有一个二维模型,例如一组主题,每个主题都包含多种颜色,那么您将拥有与主题一样多的部分,以及每个主题中的颜色一样多的行。对应于任何行的主题和颜色如下:

    model.theme[indexPath.section].colors[indexPath.row]

许多 TableView 方法使用索引路径,因此了解它们的工作原理很有用。

关于ios - 具有indexpathforselectedrow的数组逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33116774/

相关文章:

iphone - 插入 subview :belowSubview: in UITableViews

c - 如何在c中重写char数组?

c++一次检查所有数组值

ios - Swift:设置 ABRecord 的地址属性

ios - 如何将 swift Dictionary 转换为 NSDictionary

iphone - 将数据从一个 UIViewController 推送到另一个

javascript - 如何在 iOS 9.3+ 上从网页打开 Safari 的设置

ios - viewForSupplementaryElementOfKind 没有被调用

java - 如何将数据数组附加到未知大小的数组

ios - 滚动关闭和打开后, View 重新出现在 UITableViewCell 中