Swift:确定渲染单元格的部分的算法

时间:2015-04-11 16:43:20

标签: algorithm uitableview swift

在过去的几个小时里,我一直在摸不着头脑。我正在开发一个系统,随着更多类别的游戏偏好被添加,将来可能会增长,因此我需要设计一个算法来确定哪个单元属于哪个部分。

我的数据模型类似于:

[Games]     [Category]
GameA    -  CategoryC
GameB    -  CategoryA
GameC    -  CategoryB
GameD    -  CategoryA

上述数据模型示例是为了证明游戏没有保证订单,并且存储各自的类别。

到目前为止,我已尝试过以下内容:

let section = indexPath.section
let row     = indexPath.row
let offset  = tableView.numberOfRowsInSection(section)

let game = gameTypes[(section * offset-1) + row]

我认为上述内容可以起作用:

Section 0 with 2 rows = 
   Row 0: 0 * 1 + 0 = 0 (OK)
   Row 1: 0 * 1 + 1 = 1 (OK)

Section 1 with 3 rows =
   Row 0: 1 * 2 + 0 = 2 (OK)
   Row 1: 1 * 2 + 1 = 3 (OK)
   Row 2: 1 * 2 + 2 = 4 (OK)

Section 2 with 2 rows =
   Row 0: 2 * 1 + 0 = 2 (NO, should be 5)
   Row 1: 2 * 1 + 1 = 3 (NO, should be 6)

... 

上述算法一旦达到第2节就明显存在缺陷,我该如何解决?或者Apple提供了一种更有效的方法来处理这个问题吗?

注意如果某个单元格属于类别X

,则该单元格只能属于某个部分

0 个答案:

没有答案