使用分隔日期的单元格创建表视图

时间:2019-05-13 21:52:40

标签: ios swift uitableview

我正在玩TableViews并制作列表。但是,我完全不知道该怎么做的一件事就是创建一个由日期分隔的任务列表。

例如,如果我需要在6月15日打电话给朋友,祝他生日快乐,而不是tableCell告诉我打电话给他,它将被该日期分隔。

类似这样的内容:https://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwjq7YHgvpniAhWRu54KHX7-BMoQjRx6BAgBEAU&url=https%3A%2F%2Fappadvice.com%2Fapp%2Ftower-radio-app%2F1405371224&psig=AOvVaw1Q57CGOQFZ6xm9SG9zHgqK&ust=1557870701032787

谢谢

1 个答案:

答案 0 :(得分:0)

您必须在该部分中进行日期,并且任务已经在单元格中。大致如此:

import UIKit

struct ToDo {
   let date: Double
   let todo: [String]
}

class ViewController: UIViewController {

    @IBOutlet weak var tableView: UITableView!

    var array: [ToDo] = [ToDo(date: 1560640981, todo: ["call a friend to wish him happy birthday"]), ToDo(date: 1557962581, todo: ["Buy mom flowers", "By milk"])]

    override func viewDidLoad() {
        super.viewDidLoad()
      }
}

extension ViewController: UITableViewDataSource {

    func numberOfSections(in tableView: UITableView) -> Int {
        return array.count
    }

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

    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        let dateInUnix = array[section].date
        let date = Date(timeIntervalSince1970: dateInUnix)

        let dayTimePeriodFormatter = DateFormatter()
        dayTimePeriodFormatter.dateFormat = "MMM dd YYYY hh:mm a"
        let dateString = dayTimePeriodFormatter.string(from: date)

        return dateString
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = self.tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
        cell.textLabel?.text = self.array[indexPath.section].todo[indexPath.row]
        return cell
    }
}

您将获得如下内容: enter image description here