我有两个数组:
tasks = [a,b,c]
和clType = [a,a,b,c,c,c]
数组tasks
与clType
相同,但我使用带有if语句的for循环删除了重复项。
现在我想创建一个包含节的tableview,其中每个节都是tasks
数组的一个元素。在本节中,clType
数组的元素应存储在右侧部分下。我尝试使用以下for循环配置它:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
print(clType)
for index in tasks.indices{
if indexPath.section == index{
for index1 in clType.indices{
if clType[index1] == tasks[index]{
cell.textLabel?.text = clType[index1] + ": " + taskName[index1] + " // " + dateStamp[index1] //Taskname and dateStamp are arrays with a matching index with regard to clType.
}
}
}
}
return cell
}
我认为我已朝着正确的方向前进,但桌面视图并没有显示正确的方向。我现在看到的是三个部分(=正确),但该部分中的每一行都是相同的。当然,每个部分的字母(a,b,c)都相同,但taskName
和dateStamp
应该不同。
如何解决这个问题。我知道我在逻辑中遗漏了什么,但是什么?
答案 0 :(得分:0)
我自己已经解决了这个问题。这是因为对于每一行,循环在第一个可能的索引处找到了与“部分标题”相同的“匹配”。我添加了以下内容:
....
if clType[index1] == tasks[index]{
cell.textLabel?.text = clType[index1] + ": " + taskName[index1] + " // " + dateStamp[index1] //Taskname and dateStamp are arrays with a matching index with regard to clType.
clType[index1] = "" //THIS IS WHAT I ADDED
}
因此,下次循环数组时,该索引上没有匹配,但是下一个。这就是我想要的。