自创建单元以来的天数

时间:2018-11-27 18:37:05

标签: ios swift

我已经设法在iOS中创建了我的第一个应用程序的第一阶段,所以请耐心等待。

该应用程序如下所示:

Screenshot

该应用程序的想法是在单元格的右侧有一个数字,计算自创建该单元格以来的天数,因此我可以跟踪自完成某件事以来已经过了多少天。 / p>

一个单元格应该看起来像这样:

Went jogging             5

这意味着5天前我去慢跑(创建了单元)。

我正在使用CoreData并将Date属性添加到Items中,不知道这是否有用。

1)如何将天数放在单元格的右侧?

2)创建单元格时如何使计数器启动? (我认为这是在addButtonPressed方法中使用的)

addButtonPressed方法:

@IBAction func addButtonPressed(_ sender: UIBarButtonItem) {
    var textField = UITextField()
    let alert = UIAlertController(title: "Add New Item", message: "", preferredStyle: .alert)
    let action = UIAlertAction(title: "Add New Item", style: .default) { (action) in

        let newItem = Item(context: self.context)
        newItem.title = textField.text!

        newItem.parentCategory = self.selectedCategory
        self.itemArray.append(newItem)
        self.saveItems()
    }

    alert.addTextField { (alertTextField) in
        alertTextField.placeholder = "Create New Item"
        textField = alertTextField
    }

    alert.addAction(action)
    present(alert, animated: true, completion: nil)

}

1 个答案:

答案 0 :(得分:0)

我不会编写代码,因为似乎您不需要编程帮助,也不需要上下文帮助。这是您可以执行此操作的方法。

1:子类化UITableViewCell并使用显示天数的自定义标签创建自己的单元格。

2:创建一个数组来存储创建时间日期

3:应用关闭后,使用UserDefaults存储新数组。您可以通过删除旧的初始数组来完成此操作(如果用户添加了一些新的单元格,则您的数组会增加),也可以只更新旧的数组。

4:假设您的人未打开应用程序的时间超过一个小时,则只需检查应用程序的打开状态,currentTime-initialTime会为您提供新的时间,并且您可以获得经过的天数。如果确实需要,可以每5-10分钟添加一个计时器进行检查。如果您想每分钟,我建议您每30秒更新一次计时器或类似的计时器。保存您可以进行计算的位置。

5:您还需要在UserDefaults中保存“测试,测试2,测试3”项的数组,以便重新加载它们。