用于在SWIFT

时间:2016-03-01 04:24:28

标签: arrays swift uitableview struct sections

我有一个定义帖子的结构(getItems) 当我阅读我的帖子时,我将它们存储在如下数组中:

var posts = [getItems]()

问题是: 我决定在tableview中创建部分 如何创建帖子数组? 我试图宣布var items = [posts]()但这不起作用

我还有一个项目计数器,可以计算每个部分应该有多少项目,但我无法弄清楚如何将我的getItems数组拆分成以下内容:

[index1:[getItems1,getItems2 ...],index2:[getItems1,getItems2 ...] ...]

这样我就可以在TableView

中调用section和row

此致 PS:我没有发布任何代码,因为这里有很多数据...

2 个答案:

答案 0 :(得分:0)

很抱歉你的时间浪费了,很简单,我错误的方式是我试图声明一个数组数组

只需要做

data = [[getitems]]()

答案 1 :(得分:0)

我不完全确定这是否是你想要的。假设你有一个counter函数,它将一个段索引作为参数,并返回该特定部分中应该有多少帖子。

func counter(index: Int) -> Int {
    return index
}

然后像这样计算你的子阵列:

var currentIndex = 0
var totalCount = 0
var sections: [Int: [getitems]] = [:]
while totalCount < posts.count {
    let currentCounter = counter(currentIndex)
    sections[currentIndex] = posts.suffixFrom(totalCount).prefix(currentCounter).flatMap { $0 }
    currentIndex++
    totalCount += currentCounter
}

然后在func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
     return sections[section].count
}