gpt4 book ai didi

ios - 如何跟踪不同时间段的数据 (Swift) - 计数器/习惯跟踪应用程序

转载 作者:行者123 更新时间:2023-11-30 14:11:53 25 4
gpt4 key购买 nike

我正在尝试创建一个简单的计数器/习惯跟踪应用程序,允许用户查看他们在一定时间内完成任务的次数(每日/每周/每月/每年/总计)。

我的问题是:随着时间的推移跟踪变量的最佳方法是什么,以便当用户选择一个时间段时,变量的值可以更新以反射(reflect)该变化?

一些例子来阐明我的意思:

  • 最初创建每月计时器来跟踪锻炼情况的用户应该能够切换到每周计时器并根据需要查看数据更新(一周的数据应该少于一个月的数据)。
  • 创建了每日计数器的用户应该会看到每日计数器在每天午夜重置为 0,并且可以看到前一天的值以进行比较。
  • 创建“总计”计数器的用户应该能够切换到任何时间段(每日/每周/每月/每年)并根据需要查看计数器更新。

我的应用程序的 UI 基本上是一个自定义表格 View ,其中包含计数器编号、计数器名称以及跟踪计数器编号的时间段。详细 View 允许用户添加/减去计数器的值。

我已经绞尽脑汁和谷歌很长时间了,所以我真的很感激任何帮助!

最佳答案

每个任务都应该有一个日期。当应用需要查询每天/每周/每月/每年的平均值时,您可以使用 NSPredicate 来限制仅特定时间段内的结果。

例如,以下谓词模拟了我为自己的应用程序编写的上周场景:

  func lastWeekPredicate() -> NSPredicate {
let calendar = NSCalendar.currentCalendar()
let endDate = NSDate()
let startDate = calendar.dateByAddingUnit(.CalendarUnitDay, value: -7, toDate: endDate, options: nil)
return NSPredicate(format: "day >= %@ AND day =< %@", argumentArray: [startDate!, endDate!])
}

假设您使用 Core Data 对数据进行建模。使用此谓词查询将为您提供上周完成的所有任务的结果。谓词可以修改为适用于天、月、年或任何指定的天数。

关于ios - 如何跟踪不同时间段的数据 (Swift) - 计数器/习惯跟踪应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31683795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com