指定在TableView中添加单元格的位置

时间:2016-04-07 02:55:24

标签: ios swift uitableview

我正在制作一个Grocery列表,到目前为止我只有一个带有购物清单项目的数组。我想在顶部添加“今天”,在三个杂货项目后添加“每周”,在最后三个杂货项目之前添加“每月”。

我的问题是,我如何指定从arrayNum2插入单元格的位置,这将是“今日,每周和每月”与购物清单?

例如:

  (  Today   )
     item
     item
     item
    Weekly
     item
     item
     item
    Monthly
     item
     item
     item

这是我的代码

//


import UIKit

class ViewController: UITableViewController{


    var groceries = [Grocery]()




    override func viewDidLoad() {
        super.viewDidLoad()

        self.groceries = [Grocery( name: "Lemon"), Grocery( name: "Bread"), Grocery( name: "Milk"),Grocery( name: "Tomato"),Grocery( name: "Pasta"),Grocery( name: "Soup"),Grocery( name: "Coke"),Grocery( name: "Potato"),Grocery( name: "Chips")]

        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.groceries.count
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
        var grocery : Grocery

        grocery = groceries[indexPath.row]

        cell.textLabel?.text = grocery.name

        return cell
    }

}

和我的Grocery.swift

import Foundation

struct Grocery {

    let name: String
}

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决这个问题

  • 多个部分: 您在不同的部分中指定了不同的数组,因此您可以在
  • 部分中使用它们分组和个体

您已发布了Sample

的链接
  • 在特定位置插入行:您可以使用insertRowsAtIndexPaths(_:withRowAnimation:) 在表视图中插入由索引路径数组标识的位置的行,并提供动画插入的选项。

因此,从前一个数组的长度/根据您的计算,您可以在特定位置插入行

Apple Doc: insertRowsAtIndexPaths
insertRowsAtIndexPaths Sample code

希望将来可以帮助某人