[英]How to keep track of data over various periods of time (Swift) - Counter/Habit Tracking App
我正在嘗試創建一個簡單的計數器/習慣跟蹤應用程序,使用戶可以查看他們在一定時間內(每天/每周/每月/每月/每年/總計)完成任務的次數。
我的問題是:隨時間推移跟蹤變量的最佳方法是什么,以便當用戶選擇一個時間段時,變量的值可以更新以反映該更改?
一些例子可以澄清我的意思:
我的應用程序的UI基本上是一個自定義表格視圖,其中包含計數器編號,計數器名稱以及跟蹤計數器編號的時間段。 詳細信息視圖允許用戶添加/減去計數器的值。
我已經為大腦和Google奮斗了很長時間,因此,我將非常感謝您的幫助!
每個任務應有一個日期。 當應用需要查詢每天/每周/每月/每年的平均值時,您可以使用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建模了數據。 使用該謂詞查詢將為您提供上周完成的所有任務的結果。 謂詞可以修改為工作幾天,幾個月,一年或任何指定的天數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.